Messages in this thread | | | Date | Thu, 18 Aug 2016 11:21:55 -0400 | From | Steven Rostedt <> | Subject | Question: Outer NMI can nest if from user mode? |
| |
Hi Andy,
I was reading some of the comments in nmi.c and came across this:
/* * NMIs can page fault or hit breakpoints which will cause it to lose * its NMI context with the CPU when the breakpoint or page fault does an IRET. * * As a result, NMIs can nest if NMIs get unmasked due an IRET during * NMI processing. On x86_64, the asm glue protects us from nested NMIs * if the outer NMI came from kernel mode, but we can still nest if the * outer NMI came from user mode.
What confuses me is "but we can still nest if the outer NMI came from user mode".
How can that happen? You mean do_nmi() can be called nested even on x86_64 if the first NMI happened in user mode?
-- Steve
| |