Andi Kleen wrote:
Ok thanks for the information. I will stare a bit at the patch.
It is very mysterious though. Even if the patch was somehow wrong
the worst thing that could happen is that you end up with interrupts
off when you shouldnt, and the NMI watchdog is very good
at catching that.
I found that bringing back the cli in retint_swapgs fixed the problem,
so I traced back paths that could get there with interrupts enabled
and found int_restore_rest -> int_with_check -> retint_swapgs.
Adding a cli to int_restore_rest fixes the problem for me. I hope this
helps.
Regards
Patrick
Index: arch/x86_64/kernel/entry.S
===================================================================
--- 585883113da6fe9142de95138c8ed8ca898a4ccc/arch/x86_64/kernel/entry.S (mode:100644 sha1:3233a15cc4e074c00b75569f21c2844ee280b214)
+++ uncommitted/arch/x86_64/kernel/entry.S (mode:100644)
@@ -307,6 +307,7 @@
1: movl $_TIF_NEED_RESCHED,%edi
int_restore_rest:
RESTORE_REST
+ cli
jmp int_with_check
CFI_ENDPROC
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]