Re: execve error

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

 



Yes. The program works fine all the times except when the process stack is allocated at the end of CONFIG_TASK_SIZE. If I disable the stack randomization then it fails every time since the process stack is always allocated at the end of the CONFIG_TASK_SIZE.
echo 0 > /proc/sys/kernel/randomize_va_space

So I believe the current process and the execv code both seem to work on the last page of the user stack - and execv() corrupting the process stack and return EFAULT..

Thanks,
rohith

On Thu, Apr 23, 2015 at 11:26 PM, Avinash Sridharan <avinash.sridharan@xxxxxxxxx> wrote:
Are you passing the arguments to execve correctly? Usually the EFAULT error occurs, cause the argument format to execve is not correct and the kernel is unable to interpret the executable that needs to be launched, or the parameters that need to be passed to the new process.

Just an example:



On Thu, Apr 23, 2015 at 9:00 AM <kernelnewbies-request@xxxxxxxxxxxxxxxxx> wrote:
Send Kernelnewbies mailing list submissions to
        kernelnewbies@xxxxxxxxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
or, via email, send a message with subject or body 'help' to
        kernelnewbies-request@xxxxxxxxxxxxxxxxx

You can reach the person managing the list at
        kernelnewbies-owner@xxxxxxxxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Kernelnewbies digest..."


Today's Topics:

   1. How can I fetch the files likely directory
      /usr/src/kernels/<kernel  version> from kernel source tree? (tianlilai)
   2. execve error (Rohith)


----------------------------------------------------------------------

Message: 1
Date: Thu, 23 Apr 2015 17:59:56 +0800
From: tianlilai <laitianli2015@xxxxxxxxxxx>
Subject: How can I fetch the files likely directory
        /usr/src/kernels/<kernel        version> from kernel source tree?
To: kernelnewbies@xxxxxxxxxxxxxxxxx
Message-ID: <BLU436-SMTP88F0913B3897AE70E7C950A9ED0@xxxxxxx>
Content-Type: text/plain; charset="utf-8"; format=flowed


Hi,I have built the kernel source tree and running in PC mechine.Now I
want to fetch the files likely directory /usr/src/kernels/<kernel
version> from this kernel source tree.How can I do? Thanks very much!




------------------------------

Message: 2
Date: Thu, 23 Apr 2015 17:55:22 +0530
From: Rohith <itsnotrohit@xxxxxxxxx>
Subject: execve error
To: kernelnewbies@xxxxxxxxxxxxxxxxx
Message-ID:
        <CABsTBT6S0vRNFo0bxxBcWDx3k8JMpzbYyKbbUB8oxT-W+8Tr-A@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150423/be80d657/attachment-0001.html

------------------------------

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


End of Kernelnewbies Digest, Vol 53, Issue 48
*********************************************

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


_______________________________________________
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