diff options
author | Oleg Nesterov <oleg@redhat.com> | 2010-05-26 14:43:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 09:12:45 -0700 |
commit | 363da4022c2753bf4b4b54a1bb9e4527fdcb9d5d (patch) | |
tree | 103922ef0f185daebf5a3e8029663ab78eaed363 /kernel | |
parent | c70a626d3eba373514c72287c93588b6974a0059 (diff) | |
download | lwn-363da4022c2753bf4b4b54a1bb9e4527fdcb9d5d.tar.gz lwn-363da4022c2753bf4b4b54a1bb9e4527fdcb9d5d.zip |
call_usermodehelper: no need to unblock signals
____call_usermodehelper() correctly calls flush_signal_handlers() to set
SIG_DFL, but sigemptyset(->blocked) and recalc_sigpending() are not
needed.
This kthread was forked by workqueue thread, all signals must be unblocked
and ignored, no pending signal is possible.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/kmod.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index 6194ec2f737b..7efba6f8e3ec 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -134,11 +134,8 @@ static int ____call_usermodehelper(void *data) struct subprocess_info *sub_info = data; int retval; - /* Unblock all signals */ spin_lock_irq(¤t->sighand->siglock); flush_signal_handlers(current, 1); - sigemptyset(¤t->blocked); - recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); /* We can run anywhere, unlike our parent keventd(). */ |