On Thu, Jun 04, 2015 at 09:06:10PM +0530, Navin P wrote:
On Thu, Jun 4, 2015 at 1:34 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
On Thu, Jun 04, 2015 at 01:11:48PM +0530, Navin P wrote:
On Thu, Jun 4, 2015 at 10:47 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
On Thu, Jun 04, 2015 at 09:52:08AM +0530, Navin P wrote:
Hi,
I want to change the cmdline of a process to support 8096 . It works well on ppc where the page size is 65k. But when i try to increase it on x86 (i686)
http://lxr.free-electrons.com/source/fs/proc/base.c by doing 6*PAGE_SIZE, i get kernel panic after some time
199 static int proc_pid_cmdline(struct seq_file *m, struct pid_namespace *ns, 200 struct pid *pid, struct task_struct *task) 201 { 202 /* 203 * Rely on struct seq_operations::show() being called once 204 * per internal buffer allocation. See single_open(), traverse(). 205 */ 206 BUG_ON(m->size < PAGE_SIZE); 207 m->count += get_cmdline(task, m->buf, 6*PAGE_SIZE); 208 return 0; 209 } 210
That shows you that this will not work, sorry.
Can you please help me and guide me into achieving this ?
Why do you want this? What problem are you trying to solve that you have come to the conclusion that increasing the size of the command line is the solution?
I'm trying to learn things so that default cmd linux across all distributions for ia64 and ppc which has PAGE_SIZE has 64k works . We have this 3rd party application with deeply mounted dir that runs as a testcase more than 5k chars .
Applications shouldn't be messing around with the kernel command line.
We can change it , i thought if that was the problem ? So just trying to learn. I tried changing the PAGE_SHIFT but that made the kernel non-bootable or stuck at booting.
You can not easily, if at all, change the PAGE_SIZE of an architecture. That is a non-trivial task that takes a ton of knowledge about the platform.
This panics only when you access the pid with more than 4k chars.
A pid is a number, not a string. What do you mean by "pid" in this context? greg k-h