提交 be9e6870 编写于 作者: A Andi Kleen 提交者: 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: NAndi Kleen <ak@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 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
...@@ -490,7 +492,8 @@ retint_signal: ...@@ -490,7 +492,8 @@ retint_signal:
call do_notify_resume call do_notify_resume
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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册