From cdd219cd1f9e657aead247dfa1ecfdeb37efdf70 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Sat, 16 Apr 2005 15:25:04 -0700 Subject: [PATCH] x86_64: Fix a small missing schedule race Could lead to a lost reschedule event when the process already rescheduled on exception exit, and needs it again while still being in the kernel. Unlikely case though. Also remove one redundant cli in another entry.S path. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/x86_64/kernel/entry.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/x86_64') diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S index 3e888c2e5a06..887c5f017d28 100644 --- a/arch/x86_64/kernel/entry.S +++ b/arch/x86_64/kernel/entry.S @@ -284,6 +284,7 @@ int_careful: pushq %rdi call schedule popq %rdi + cli jmp int_with_check /* handle signals and tracing -- both require a full stack frame */ @@ -453,7 +454,6 @@ retint_check: andl %edi,%edx jnz retint_careful retint_swapgs: - cli swapgs retint_restore_args: cli -- cgit v1.2.3