diff options
Diffstat (limited to 'arch/x86/include/asm/pgtable.h')
-rw-r--r-- | arch/x86/include/asm/pgtable.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index e576cbd7a343..3278038e9706 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
@@ -353,7 +353,7 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd) | |||
353 | * Currently stuck as a macro due to indirect forward reference to | 353 | * Currently stuck as a macro due to indirect forward reference to |
354 | * linux/mmzone.h's __section_mem_map_addr() definition: | 354 | * linux/mmzone.h's __section_mem_map_addr() definition: |
355 | */ | 355 | */ |
356 | #define pmd_page(pmd) pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT) | 356 | #define pmd_page(pmd) pfn_to_page((pmd_val(pmd) & PTE_PFN_MASK) >> PAGE_SHIFT) |
357 | 357 | ||
358 | /* | 358 | /* |
359 | * the pmd page can be thought of an array like this: pmd_t[PTRS_PER_PMD] | 359 | * the pmd page can be thought of an array like this: pmd_t[PTRS_PER_PMD] |