lkml.org 
[lkml]   [2009]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [2.6.30-rc1] RCU detected CPU 1 stall
    On Thu, 16 Apr 2009, Tetsuo Handa wrote:
    > Indeed, we can't use "argv" put on stack memory if we use "no wait" mode.
    > We need to ensure that memory region pointed by "argv" is valid until
    > do_execve() finishes. However,
    > |
    > | exit:
    > | kfree(devpath);
    > | kfree(env);
    > | return retval;
    > | }
    > "env" can be overwritten as well as "argv".
    > We need to ensure that memory region pointed by "env" is valid until
    > do_execve() finishes, don't we?
    >
    > I think we need to use UMH_WAIT_EXEC instead of UMH_NO_WAIT.

    Yes, of course you're right, silly me.

    It could be worked around using call_usermodehelper_setcleanup()
    to arrange for the freeing there instead of here in this case;
    but if CONFIG_UEVENT_HELPER_PATH="" is the better answer anyway,
    let's not waste any more time on this, just revert the broken patch
    (which is what simply changing UMH_NO_WAIT to UMH_WAIT_EXEC does).

    I'd hoped to get confirmation that the mmap.c part of the patch
    was all the extra needed; but never mind, that's clearly good.

    Thanks a lot: I'll send in a revert request,
    and the acct_stack_growth patch, later today.

    Hugh


    \
     
     \ /
      Last update: 2009-04-16 07:25    [W:0.025 / U:2.568 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site