Revert "nmi-safe-kernel/x86_64-page-fault-nmi-safe"
PATCH 1/1 Revert "nmi-safe-kernel/x86_64-page-fault-nmi-safe"
From: Tom Zanussi <[email protected]>
This reverts commit 722d3ee9d6a5149cd6a22f19a44db301966fb711.
It might be nmi-safe, but it hangs the box in non-nmi context - debugging shows it faulting forever at the same address.
Revert it since it's causing problems in non-tracing contexts. Until it gets fixed, I guess the thing to do is avoid tracing nmis.
Signed-off-by Tom Zanussi <[email protected]>
--- arch/x86/mm/fault.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-)
arch/x86/mm/fault.c +1 -3
@@ -361,7 +361,6 @@ void vmalloc_sync_all(void)*/ static noinline __kprobes int vmalloc_fault(unsigned long address) { -unsigned long pgd_paddr;pgd_t *pgd, *pgd_ref;pud_t *pud, *pud_ref;pmd_t *pmd, *pmd_ref;
@@ -378,8 +377,7 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)* happen within a race in page table update. In the later * case just flush: */ - pgd_paddr =read_cr3 (); - pgd =__va (pgd_paddr) +pgd_index (address); + pgd =pgd_offset (current->active_mm, address); pgd_ref =pgd_offset_k (address);if (pgd_none (*pgd_ref))return -1 ;
Signature · 1 line
1.7.0.4