From: Oleg Nesterov Date: Wed, 26 May 2010 21:43:02 +0000 (-0700) Subject: call_usermodehelper: no need to unblock signals X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=363da4022c2753bf4b4b54a1bb9e4527fdcb9d5d;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- 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(). */