diff options
| author | Rusty Russell <rusty@rustcorp.com.au> | 2003-02-23 03:18:14 -0800 |
|---|---|---|
| committer | David S. Miller <davem@kernel.bkbits.net> | 2003-02-23 03:18:14 -0800 |
| commit | d691958b0b3d0fa53a9231ee81efb53073b7119c (patch) | |
| tree | c201dc8bcdaa663c45a1e84c3dd996151bfc22d5 /kernel | |
| parent | fd0dacffdd8b2d84af68aef59fd2fff662323928 (diff) | |
[PATCH] Enable signals for usermode helpers
Stelian Pop reported that all signals are blocked in processes
execed from the kernel as usermode helpers.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kmod.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index a715e06ab4a7..01c18cacc58b 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -152,6 +152,14 @@ static int ____call_usermodehelper(void *data) struct subprocess_info *sub_info = data; int retval; + /* Unblock all signals. */ + flush_signals(current); + spin_lock_irq(¤t->sighand->siglock); + flush_signal_handlers(current); + sigemptyset(¤t->blocked); + recalc_sigpending(); + spin_unlock_irq(¤t->sighand->siglock); + retval = -EPERM; if (current->fs->root) retval = execve(sub_info->path, sub_info->argv,sub_info->envp); |
