X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=kernel%2Fkmod.c;h=51a892063aaaa2f5b1dfa1cf9f6667dcef88cd68;hb=3e0d98b9f1eb757fc98efc84e74e54a08308aa73;hp=44166e3bb8afab469a61575946b46da45e215cc7;hpb=8ed693d29b25bbd88471ec043cc01581419d0481;p=powerpc.git diff --git a/kernel/kmod.c b/kernel/kmod.c index 44166e3bb8..51a892063a 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -131,14 +131,14 @@ struct subprocess_info { static int ____call_usermodehelper(void *data) { struct subprocess_info *sub_info = data; - struct key *old_session; + struct key *new_session, *old_session; int retval; /* Unblock all signals and set the session keyring. */ - key_get(sub_info->ring); + new_session = key_get(sub_info->ring); flush_signals(current); spin_lock_irq(¤t->sighand->siglock); - old_session = __install_session_keyring(current, sub_info->ring); + old_session = __install_session_keyring(current, new_session); flush_signal_handlers(current, 1); sigemptyset(¤t->blocked); recalc_sigpending();