diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-10 20:09:44 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-11 21:42:36 -0400 |
commit | fb45550d76bb584857cf0ea3be79fa78207a3cff (patch) | |
tree | c141122f0aa7f1b5cea4ad52d36228a40b79b2fc | |
parent | d6b2123802d2b7eee8c62cd0ebd73e8636cbb068 (diff) | |
download | linux-fb45550d76bb584857cf0ea3be79fa78207a3cff.tar.gz linux-fb45550d76bb584857cf0ea3be79fa78207a3cff.tar.bz2 linux-fb45550d76bb584857cf0ea3be79fa78207a3cff.zip |
make sure that kernel_thread() callbacks call do_exit() themselves
Most of them never returned anyway - only two functions had to be
changed. That allows to simplify their callers a whole lot.
Note that this does *not* apply to kthread_run() callbacks - all of
those had been called from the same kernel_thread() callback, which
did do_exit() already. This is strictly about very few low-level
kernel_thread() callbacks (there are only 6 of those, mostly as part
of kthread.h and kmod.h exported mechanisms, plus kernel_init()
itself).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | kernel/kmod.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index 6f99aead66c6..b6e5ca9c758a 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -225,7 +225,7 @@ static int ____call_usermodehelper(void *data) /* Exec failed? */ fail: sub_info->retval = retval; - return 0; + do_exit(0); } static int call_helper(void *data) @@ -292,7 +292,7 @@ static int wait_for_helper(void *data) } umh_complete(sub_info); - return 0; + do_exit(0); } /* This is run by khelper thread */ |