Skip to content

Commit

Permalink
[PATCH] x86_64: interrupt handling fix
Browse files Browse the repository at this point in the history
- Initialize workmask correctly on interrupt signal handling

- Readd missing cli's in the interrupt return path.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Andi Kleen authored and Linus Torvalds committed May 1, 2005
1 parent 3c3b73b commit be9e687
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion arch/x86_64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@ int_very_careful:
call syscall_trace_leave
popq %rdi
andl $~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP),%edi
cli
jmp int_restore_rest

int_signal:
Expand All @@ -307,6 +308,7 @@ int_signal:
1: movl $_TIF_NEED_RESCHED,%edi
int_restore_rest:
RESTORE_REST
cli
jmp int_with_check
CFI_ENDPROC

Expand Down Expand Up @@ -490,7 +492,8 @@ retint_signal:
call do_notify_resume
RESTORE_REST
cli
GET_THREAD_INFO(%rcx)
GET_THREAD_INFO(%rcx)
movl $_TIF_WORK_MASK,%edi
jmp retint_check

#ifdef CONFIG_PREEMPT
Expand Down

0 comments on commit be9e687

Please sign in to comment.