summaryrefslogtreecommitdiff
path: root/kernel/kmod.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-10 20:09:44 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-11 21:42:36 -0400
commitfb45550d76bb584857cf0ea3be79fa78207a3cff (patch)
treec141122f0aa7f1b5cea4ad52d36228a40b79b2fc /kernel/kmod.c
parentd6b2123802d2b7eee8c62cd0ebd73e8636cbb068 (diff)
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>
Diffstat (limited to 'kernel/kmod.c')
-rw-r--r--kernel/kmod.c4
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 */