Re: [PATCH v3 04/10] mm/x86: Replace pgd_large() with pgd_leaf()

From: Mike Rapoport
Date: Wed Mar 06 2024 - 01:24:50 EST


On Tue, Mar 05, 2024 at 12:37:44PM +0800, peterx@xxxxxxxxxx wrote:
> From: Peter Xu <peterx@xxxxxxxxxx>
>
> pgd_leaf() is a global API while pgd_large() is not. Always use
> the global pgd_leaf(), then drop pgd_large().
>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: x86@xxxxxxxxxx
> Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>

Reviewed-by: Mike Rapoport (IBM) <rppt@xxxxxxxxxx>

> ---
> arch/x86/include/asm/pgtable.h | 4 ++--
> arch/x86/mm/pti.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
> index 69ed0ea0641b..d6e993a5659f 100644
> --- a/arch/x86/include/asm/pgtable.h
> +++ b/arch/x86/include/asm/pgtable.h
> @@ -1418,8 +1418,8 @@ static inline bool pgdp_maps_userspace(void *__ptr)
> return (((ptr & ~PAGE_MASK) / sizeof(pgd_t)) < PGD_KERNEL_START);
> }
>
> -#define pgd_leaf pgd_large
> -static inline int pgd_large(pgd_t pgd) { return 0; }
> +#define pgd_leaf pgd_leaf
> +static inline int pgd_leaf(pgd_t pgd) { return 0; }
>
> #ifdef CONFIG_PAGE_TABLE_ISOLATION
> /*
> diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
> index dc0a81f5f60e..c17aab24c1b3 100644
> --- a/arch/x86/mm/pti.c
> +++ b/arch/x86/mm/pti.c
> @@ -185,7 +185,7 @@ static p4d_t *pti_user_pagetable_walk_p4d(unsigned long address)
>
> set_pgd(pgd, __pgd(_KERNPG_TABLE | __pa(new_p4d_page)));
> }
> - BUILD_BUG_ON(pgd_large(*pgd) != 0);
> + BUILD_BUG_ON(pgd_leaf(*pgd) != 0);
>
> return p4d_offset(pgd, address);
> }
> --
> 2.44.0
>
>

--
Sincerely yours,
Mike.