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 */ |
