[poky] [PATCH] Revert "nmi-safe-kernel/x86_64-page-fault-nmi-safe"
Tom Zanussi
tom.zanussi at intel.com
Mon Feb 14 07:46:52 PST 2011
From: Tom Zanussi <tom.zanussi at intel.com>
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 <tom.zanussi at intel.com>
---
arch/x86/mm/fault.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 5494537..0030984 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -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;
--
1.7.0.4
More information about the poky
mailing list