diff options
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); |
