diff options
Diffstat (limited to 'kernel/kmod.c')
| -rw-r--r-- | kernel/kmod.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index 44166e3bb8af..51a892063aaa 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c | |||
| @@ -131,14 +131,14 @@ struct subprocess_info { | |||
| 131 | static int ____call_usermodehelper(void *data) | 131 | static int ____call_usermodehelper(void *data) |
| 132 | { | 132 | { |
| 133 | struct subprocess_info *sub_info = data; | 133 | struct subprocess_info *sub_info = data; |
| 134 | struct key *old_session; | 134 | struct key *new_session, *old_session; |
| 135 | int retval; | 135 | int retval; |
| 136 | 136 | ||
| 137 | /* Unblock all signals and set the session keyring. */ | 137 | /* Unblock all signals and set the session keyring. */ |
| 138 | key_get(sub_info->ring); | 138 | new_session = key_get(sub_info->ring); |
| 139 | flush_signals(current); | 139 | flush_signals(current); |
| 140 | spin_lock_irq(¤t->sighand->siglock); | 140 | spin_lock_irq(¤t->sighand->siglock); |
| 141 | old_session = __install_session_keyring(current, sub_info->ring); | 141 | old_session = __install_session_keyring(current, new_session); |
| 142 | flush_signal_handlers(current, 1); | 142 | flush_signal_handlers(current, 1); |
| 143 | sigemptyset(¤t->blocked); | 143 | sigemptyset(¤t->blocked); |
| 144 | recalc_sigpending(); | 144 | recalc_sigpending(); |
