aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/mm/init_64.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index a242139df8fe..745e5e183169 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -962,7 +962,7 @@ remove_pud_table(pud_t *pud_start, unsigned long addr, unsigned long end,
962 continue; 962 continue;
963 } 963 }
964 964
965 pmd_base = (pmd_t *)pud_page_vaddr(*pud); 965 pmd_base = pmd_offset(pud, 0);
966 remove_pmd_table(pmd_base, addr, next, direct); 966 remove_pmd_table(pmd_base, addr, next, direct);
967 free_pmd_table(pmd_base, pud); 967 free_pmd_table(pmd_base, pud);
968 } 968 }
@@ -988,7 +988,7 @@ remove_p4d_table(p4d_t *p4d_start, unsigned long addr, unsigned long end,
988 988
989 BUILD_BUG_ON(p4d_large(*p4d)); 989 BUILD_BUG_ON(p4d_large(*p4d));
990 990
991 pud_base = (pud_t *)p4d_page_vaddr(*p4d); 991 pud_base = pud_offset(p4d, 0);
992 remove_pud_table(pud_base, addr, next, direct); 992 remove_pud_table(pud_base, addr, next, direct);
993 free_pud_table(pud_base, p4d); 993 free_pud_table(pud_base, p4d);
994 } 994 }
@@ -1013,7 +1013,7 @@ remove_pagetable(unsigned long start, unsigned long end, bool direct)
1013 if (!pgd_present(*pgd)) 1013 if (!pgd_present(*pgd))
1014 continue; 1014 continue;
1015 1015
1016 p4d = (p4d_t *)pgd_page_vaddr(*pgd); 1016 p4d = p4d_offset(pgd, 0);
1017 remove_p4d_table(p4d, addr, next, direct); 1017 remove_p4d_table(p4d, addr, next, direct);
1018 } 1018 }
1019 1019