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 /kernel | |
parent | d6b2123802d2b7eee8c62cd0ebd73e8636cbb068 (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')
-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) | |||
225 | /* Exec failed? */ | 225 | /* Exec failed? */ |
226 | fail: | 226 | fail: |
227 | sub_info->retval = retval; | 227 | sub_info->retval = retval; |
228 | return 0; | 228 | do_exit(0); |
229 | } | 229 | } |
230 | 230 | ||
231 | static int call_helper(void *data) | 231 | static int call_helper(void *data) |
@@ -292,7 +292,7 @@ static int wait_for_helper(void *data) | |||
292 | } | 292 | } |
293 | 293 | ||
294 | umh_complete(sub_info); | 294 | umh_complete(sub_info); |
295 | return 0; | 295 | do_exit(0); |
296 | } | 296 | } |
297 | 297 | ||
298 | /* This is run by khelper thread */ | 298 | /* This is run by khelper thread */ |