Commit cdd219cd authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

[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: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6fefb0d1
...@@ -284,6 +284,7 @@ int_careful: ...@@ -284,6 +284,7 @@ int_careful:
pushq %rdi pushq %rdi
call schedule call schedule
popq %rdi popq %rdi
cli
jmp int_with_check jmp int_with_check
/* handle signals and tracing -- both require a full stack frame */ /* handle signals and tracing -- both require a full stack frame */
...@@ -453,7 +454,6 @@ retint_check: ...@@ -453,7 +454,6 @@ retint_check:
andl %edi,%edx andl %edi,%edx
jnz retint_careful jnz retint_careful
retint_swapgs: retint_swapgs:
cli
swapgs swapgs
retint_restore_args: retint_restore_args:
cli cli
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment