Commit:     3210f0ecdba6a81c3f8efe6f442d2e1f57db98f9
Parent:     f629307c857c030d5a3dd777fee37c8bb395e171
Author:     Michael Ellerman <[EMAIL PROTECTED]>
AuthorDate: Tue Sep 11 15:23:51 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Sep 11 17:21:20 2007 -0700

    Restore call_usermodehelper_pipe() behaviour
    The semantics of call_usermodehelper_pipe() used to be that it would fork
    the helper, and wait for the kernel thread to be started.  This was
    implemented by setting sub_info.wait to 0 (implicitly), and doing a
    As part of the cleanup done in 0ab4dc92278a0f3816e486d6350c6652a72e06c8,
    call_usermodehelper_pipe() was changed to pass 1 as the value for wait to
    This is equivalent to setting sub_info.wait to 1, which is a change from
    the previous behaviour.  Using 1 instead of 0 causes
    __call_usermodehelper() to start the kernel thread running
    wait_for_helper(), rather than directly calling ____call_usermodehelper().
    The end result is that the calling kernel code blocks until the user mode
    helper finishes.  As the helper is expecting input on stdin, and now no one
    is writing anything, everything locks up (observed in do_coredump).
    The fix is to change the 1 to UMH_WAIT_EXEC (aka 0), indicating that we
    want to wait for the kernel thread to be started, but not for the helper to
    Signed-off-by: Michael Ellerman <[EMAIL PROTECTED]>
    Acked-by: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 kernel/kmod.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/kmod.c b/kernel/kmod.c
index 9809cc1..c6a4f8a 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -505,7 +505,7 @@ int call_usermodehelper_pipe(char *path, char **argv, char 
        if (ret < 0)
                goto out;
-       return call_usermodehelper_exec(sub_info, 1);
+       return call_usermodehelper_exec(sub_info, UMH_WAIT_EXEC);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to