diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/fault.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index fb674fd3fc22..2b97525246d4 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c | |||
@@ -939,14 +939,8 @@ spurious_fault(unsigned long error_code, unsigned long address) | |||
939 | if (pmd_large(*pmd)) | 939 | if (pmd_large(*pmd)) |
940 | return spurious_fault_check(error_code, (pte_t *) pmd); | 940 | return spurious_fault_check(error_code, (pte_t *) pmd); |
941 | 941 | ||
942 | /* | ||
943 | * Note: don't use pte_present() here, since it returns true | ||
944 | * if the _PAGE_PROTNONE bit is set. However, this aliases the | ||
945 | * _PAGE_GLOBAL bit, which for kernel pages give false positives | ||
946 | * when CONFIG_DEBUG_PAGEALLOC is used. | ||
947 | */ | ||
948 | pte = pte_offset_kernel(pmd, address); | 942 | pte = pte_offset_kernel(pmd, address); |
949 | if (!(pte_flags(*pte) & _PAGE_PRESENT)) | 943 | if (!pte_present(*pte)) |
950 | return 0; | 944 | return 0; |
951 | 945 | ||
952 | ret = spurious_fault_check(error_code, pte); | 946 | ret = spurious_fault_check(error_code, pte); |