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

[PATCH] x86_64: interrupt handling fix

- Initialize workmask correctly on interrupt signal handling

- Readd missing cli's in the interrupt return 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 3c3b73b6
...@@ -296,6 +296,7 @@ int_very_careful: ...@@ -296,6 +296,7 @@ int_very_careful:
call syscall_trace_leave call syscall_trace_leave
popq %rdi popq %rdi
andl $~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP),%edi andl $~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP),%edi
cli
jmp int_restore_rest jmp int_restore_rest
int_signal: int_signal:
...@@ -307,6 +308,7 @@ int_signal: ...@@ -307,6 +308,7 @@ int_signal:
1: movl $_TIF_NEED_RESCHED,%edi 1: movl $_TIF_NEED_RESCHED,%edi
int_restore_rest: int_restore_rest:
RESTORE_REST RESTORE_REST
cli
jmp int_with_check jmp int_with_check
CFI_ENDPROC CFI_ENDPROC
...@@ -491,6 +493,7 @@ retint_signal: ...@@ -491,6 +493,7 @@ retint_signal:
RESTORE_REST RESTORE_REST
cli cli
GET_THREAD_INFO(%rcx) GET_THREAD_INFO(%rcx)
movl $_TIF_WORK_MASK,%edi
jmp retint_check jmp retint_check
#ifdef CONFIG_PREEMPT #ifdef CONFIG_PREEMPT
......
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