diff options
| -rw-r--r-- | arch/x86/kernel/entry_64.S | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 3fe8239fd8fb..debd851de6ff 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
| @@ -1532,6 +1532,13 @@ ENTRY(nmi) | |||
| 1532 | pushq_cfi %rdx | 1532 | pushq_cfi %rdx |
| 1533 | 1533 | ||
| 1534 | /* | 1534 | /* |
| 1535 | * If %cs was not the kernel segment, then the NMI triggered in user | ||
| 1536 | * space, which means it is definitely not nested. | ||
| 1537 | */ | ||
| 1538 | cmp $__KERNEL_CS, 16(%rsp) | ||
| 1539 | jne first_nmi | ||
| 1540 | |||
| 1541 | /* | ||
| 1535 | * Check the special variable on the stack to see if NMIs are | 1542 | * Check the special variable on the stack to see if NMIs are |
| 1536 | * executing. | 1543 | * executing. |
| 1537 | */ | 1544 | */ |
