diff options
Diffstat (limited to 'kernel/kmod.c')
| -rw-r--r-- | kernel/kmod.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index 49cc4b9c1a8d..4d32eb077179 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c | |||
| @@ -135,7 +135,6 @@ static int ____call_usermodehelper(void *data) | |||
| 135 | 135 | ||
| 136 | /* Unblock all signals and set the session keyring. */ | 136 | /* Unblock all signals and set the session keyring. */ |
| 137 | new_session = key_get(sub_info->ring); | 137 | new_session = key_get(sub_info->ring); |
| 138 | flush_signals(current); | ||
| 139 | spin_lock_irq(¤t->sighand->siglock); | 138 | spin_lock_irq(¤t->sighand->siglock); |
| 140 | old_session = __install_session_keyring(current, new_session); | 139 | old_session = __install_session_keyring(current, new_session); |
| 141 | flush_signal_handlers(current, 1); | 140 | flush_signal_handlers(current, 1); |
| @@ -186,14 +185,9 @@ static int wait_for_helper(void *data) | |||
| 186 | { | 185 | { |
| 187 | struct subprocess_info *sub_info = data; | 186 | struct subprocess_info *sub_info = data; |
| 188 | pid_t pid; | 187 | pid_t pid; |
| 189 | struct k_sigaction sa; | ||
| 190 | 188 | ||
| 191 | /* Install a handler: if SIGCLD isn't handled sys_wait4 won't | 189 | /* Install a handler: if SIGCLD isn't handled sys_wait4 won't |
| 192 | * populate the status, but will return -ECHILD. */ | 190 | * populate the status, but will return -ECHILD. */ |
| 193 | sa.sa.sa_handler = SIG_IGN; | ||
| 194 | sa.sa.sa_flags = 0; | ||
| 195 | siginitset(&sa.sa.sa_mask, sigmask(SIGCHLD)); | ||
| 196 | do_sigaction(SIGCHLD, &sa, NULL); | ||
| 197 | allow_signal(SIGCHLD); | 191 | allow_signal(SIGCHLD); |
| 198 | 192 | ||
| 199 | pid = kernel_thread(____call_usermodehelper, sub_info, SIGCHLD); | 193 | pid = kernel_thread(____call_usermodehelper, sub_info, SIGCHLD); |
