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    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site