Ingo, As Avi brought to attention, there may be issues with NMIs and page faults as if a NMI takes a page fault it can corrupt the cr2 for a page fault handler that it preempted. The first and third patch fixes this for x86_64 and i386 respectively. The second patch is to fix the cmpxchg issue brought up by someone on LWN. The NMI handler for i386 uses cmpxchg to handle nested NMIs. But some older i386 boxes do not have a true cmpxchg and this will fail for them. Luckily, there is a simple fix that also makes the code cleaner. Please pull the latest tip/x86/core tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git tip/x86/core Head SHA1: 7fefda3109021f98926d76a13f90d0b116ce3db5 Steven Rostedt (3): x86: Save cr2 in NMI in case NMIs take a page fault x86: Remove cmpxchg from i386 NMI nesting code x86: Save cr2 in NMI in case NMIs take a page fault (for i386) ---- arch/x86/kernel/entry_64.S | 20 +++++++++++++++++ arch/x86/kernel/nmi.c | 51 +++++++++++++++++++++++++++++++------------- 2 files changed, 56 insertions(+), 15 deletions(-)