We want to rework how set_pXd() behaves for generic compile-time folded page tables by disallowing its use and triggering a compile-time error when it is used improperly, ensuring that the actual first-level set_pXd() function is used instead.
Therefore, replace set_pgd() with set_pud() to setup first-level pgtable in case of X86_PAE. There should be no functional change. Signed-off-by: Yeoreum Yun <[email protected]> --- arch/x86/kernel/machine_kexec_32.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c index 1f325304c4a84..a36321ee9f24f 100644 --- a/arch/x86/kernel/machine_kexec_32.c +++ b/arch/x86/kernel/machine_kexec_32.c @@ -84,12 +84,12 @@ static void machine_kexec_page_table_set_one( pud_t *pud; pgd += pgd_index(vaddr); -#ifdef CONFIG_X86_PAE - if (!(pgd_val(*pgd) & _PAGE_PRESENT)) - set_pgd(pgd, __pgd(__pa(pmd) | _PAGE_PRESENT)); -#endif p4d = p4d_offset(pgd, vaddr); pud = pud_offset(p4d, vaddr); +#ifdef CONFIG_X86_PAE + if (!(pud_val(*pud) & _PAGE_PRESENT)) + set_pud(pud, __pud(__pa(pmd) | _PAGE_PRESENT)); +#endif pmd = pmd_offset(pud, vaddr); if (!(pmd_val(*pmd) & _PAGE_PRESENT)) set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); -- LEVI:{C3F47F37-75D8-414A-A8BA-3980EC8A46D7}
