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/kmod.c | |
| parent | d6b2123802d2b7eee8c62cd0ebd73e8636cbb068 (diff) | |
| download | olio-linux-3.10-fb45550d76bb584857cf0ea3be79fa78207a3cff.tar.xz olio-linux-3.10-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>
Diffstat (limited to 'kernel/kmod.c')
| -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 6f99aead66c..b6e5ca9c758 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  */  |