Loading arch/x86/mm/fault.c +12 −1 Original line number Diff line number Diff line Loading @@ -645,6 +645,7 @@ static noinline int spurious_fault(unsigned long error_code, pud_t *pud; pmd_t *pmd; pte_t *pte; int ret; /* Reserved-bit violation or user access to kernel space? */ if (error_code & (PF_USER | PF_RSVD)) Loading Loading @@ -672,7 +673,17 @@ static noinline int spurious_fault(unsigned long error_code, if (!pte_present(*pte)) return 0; return spurious_fault_check(error_code, pte); ret = spurious_fault_check(error_code, pte); if (!ret) return 0; /* * Make sure we have permissions in PMD * If not, then there's a bug in the page tables. */ ret = spurious_fault_check(error_code, (pte_t *) pmd); WARN_ONCE(!ret, "PMD has incorrect permission bits\n"); return ret; } /* Loading Loading
arch/x86/mm/fault.c +12 −1 Original line number Diff line number Diff line Loading @@ -645,6 +645,7 @@ static noinline int spurious_fault(unsigned long error_code, pud_t *pud; pmd_t *pmd; pte_t *pte; int ret; /* Reserved-bit violation or user access to kernel space? */ if (error_code & (PF_USER | PF_RSVD)) Loading Loading @@ -672,7 +673,17 @@ static noinline int spurious_fault(unsigned long error_code, if (!pte_present(*pte)) return 0; return spurious_fault_check(error_code, pte); ret = spurious_fault_check(error_code, pte); if (!ret) return 0; /* * Make sure we have permissions in PMD * If not, then there's a bug in the page tables. */ ret = spurious_fault_check(error_code, (pte_t *) pmd); WARN_ONCE(!ret, "PMD has incorrect permission bits\n"); return ret; } /* Loading