execve error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm facing a strange issue with execve. It fails with -EFAULT intermittently. I found that whenever it failed the stack allocated to the process is in the last page of the CONFIG_TASK_SIZE.

For example, if CONFIG_TASK_SIZE is set to 0x4000_0000, the process would fail in execve if the stack happens to be in the page:

3ffdf000-40000000 rw-p 00000000 00:00 0          [stack]


I tried changing CONFIG_TASK_SIZE=0x30000000 and the process this time fails at the end 0x30000000 address.

I also found that the execve seem to use the largest stack address (STACK_TOP_MAX, function __bprm_mm_init(), fs/exec.c) while copying argv/envp to the new process space.

I don't know how to debug further. I feel that the user process stack should never be allocated at the CONFIG_TASK_SIZE? Any idea or suggestion on how to debug further, please tell me.

thanks,
rohit
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux