diff options
Diffstat (limited to 'arch/x86/kernel/signal.c')
-rw-r--r-- | arch/x86/kernel/signal.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 4fd173cd8e57..fccd2c885ba2 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c | |||
@@ -773,6 +773,13 @@ static void do_signal(struct pt_regs *regs) | |||
773 | int signr; | 773 | int signr; |
774 | sigset_t *oldset; | 774 | sigset_t *oldset; |
775 | 775 | ||
776 | #ifdef CONFIG_PREEMPT_RT | ||
777 | /* | ||
778 | * Fully-preemptible kernel does not need interrupts disabled: | ||
779 | */ | ||
780 | local_irq_enable(); | ||
781 | preempt_check_resched(); | ||
782 | #endif | ||
776 | /* | 783 | /* |
777 | * We want the common case to go fast, which is why we may in certain | 784 | * We want the common case to go fast, which is why we may in certain |
778 | * cases get here from kernel mode. Just return without doing anything | 785 | * cases get here from kernel mode. Just return without doing anything |