| From bc4c8633dc7c0234383257ecdabc4274176ec4cb Mon Sep 17 00:00:00 2001 |
| From: Jiri Kosina <jkosina@suse.cz> |
| Date: Wed, 24 Apr 2019 09:04:57 +0200 |
| Subject: x86/mm: Remove in_nmi() warning from 64-bit implementation of |
| vmalloc_fault() |
| |
| [ Upstream commit a65c88e16f32aa9ef2e8caa68ea5c29bd5eb0ff0 ] |
| |
| In-NMI warnings have been added to vmalloc_fault() via: |
| |
| ebc8827f75 ("x86: Barf when vmalloc and kmemcheck faults happen in NMI") |
| |
| back in the time when our NMI entry code could not cope with nested NMIs. |
| |
| These days, it's perfectly fine to take a fault in NMI context and we |
| don't have to care about the fact that IRET from the fault handler might |
| cause NMI nesting. |
| |
| This warning has already been removed from 32-bit implementation of |
| vmalloc_fault() in: |
| |
| 6863ea0cda8 ("x86/mm: Remove in_nmi() warning from vmalloc_fault()") |
| |
| but the 64-bit version was omitted. |
| |
| Remove the bogus warning also from 64-bit implementation of vmalloc_fault(). |
| |
| Reported-by: Nicolai Stange <nstange@suse.de> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Cc: Andy Lutomirski <luto@kernel.org> |
| Cc: Borislav Petkov <bp@alien8.de> |
| Cc: Dave Hansen <dave.hansen@linux.intel.com> |
| Cc: Frederic Weisbecker <fweisbec@gmail.com> |
| Cc: Joerg Roedel <jroedel@suse.de> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Fixes: 6863ea0cda8 ("x86/mm: Remove in_nmi() warning from vmalloc_fault()") |
| Link: http://lkml.kernel.org/r/nycvar.YFH.7.76.1904240902280.9803@cbobk.fhfr.pm |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/x86/mm/fault.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c |
| index 667f1da36208e..5eaf67e8314f1 100644 |
| --- a/arch/x86/mm/fault.c |
| +++ b/arch/x86/mm/fault.c |
| @@ -359,8 +359,6 @@ static noinline int vmalloc_fault(unsigned long address) |
| if (!(address >= VMALLOC_START && address < VMALLOC_END)) |
| return -1; |
| |
| - WARN_ON_ONCE(in_nmi()); |
| - |
| /* |
| * Copy kernel mappings over when needed. This can also |
| * happen within a race in page table update. In the later |
| -- |
| 2.20.1 |
| |