git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] pids: kill PIDTYPE_TGID
[sfrench/cifs-2.6.git]
/
kernel
/
kmod.c
diff --git
a/kernel/kmod.c
b/kernel/kmod.c
index 44166e3bb8afab469a61575946b46da45e215cc7..20a997c73c3d0c3951c66f8b5c8e6fd61f51abc3 100644
(file)
--- 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;
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. */
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);
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();
flush_signal_handlers(current, 1);
sigemptyset(¤t->blocked);
recalc_sigpending();
@@
-170,7
+170,7
@@
static int wait_for_helper(void *data)
sa.sa.sa_handler = SIG_IGN;
sa.sa.sa_flags = 0;
siginitset(&sa.sa.sa_mask, sigmask(SIGCHLD));
sa.sa.sa_handler = SIG_IGN;
sa.sa.sa_flags = 0;
siginitset(&sa.sa.sa_mask, sigmask(SIGCHLD));
- do_sigaction(SIGCHLD, &sa,
(struct k_sigaction *)0
);
+ do_sigaction(SIGCHLD, &sa,
NULL
);
allow_signal(SIGCHLD);
pid = kernel_thread(____call_usermodehelper, sub_info, SIGCHLD);
allow_signal(SIGCHLD);
pid = kernel_thread(____call_usermodehelper, sub_info, SIGCHLD);