[PATCH] arm64/mm: Change pgattr_change_is_safe() arguments as pteval_t

Ryan Roberts ryan.roberts at arm.com
Wed Oct 2 02:13:45 PDT 2024


On 01/10/2024 05:58, Anshuman Khandual wrote:
> pgattr_change_is_safe() processes two distinct page table entries that just
> happen to be 64 bits for all levels. This changes both arguments to reflect
> the actual data type being processed in the function.
> 
> This change is important when moving to FEAT_D128 based 128 bit page tables
> because it makes it simple to change the entry size in one place.
> 
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Ard Biesheuvel <ardb at kernel.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> Reviewed-by: Ryan Roberts <ryan.roberts at arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual at arm.com>

LGTM!

Reviewed-by: Ryan Roberts <ryan.roberts at arm.com>

> ---
> This applies on v6.12-rc1
> 
>  arch/arm64/include/asm/pgtable.h | 2 +-
>  arch/arm64/mm/mmu.c              | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
> index c329ea061dc9..d56dbe5742d6 100644
> --- a/arch/arm64/include/asm/pgtable.h
> +++ b/arch/arm64/include/asm/pgtable.h
> @@ -338,7 +338,7 @@ static inline pte_t __ptep_get(pte_t *ptep)
>  }
>  
>  extern void __sync_icache_dcache(pte_t pteval);
> -bool pgattr_change_is_safe(u64 old, u64 new);
> +bool pgattr_change_is_safe(pteval_t old, pteval_t new);
>  
>  /*
>   * PTE bits configuration in the presence of hardware Dirty Bit Management
> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
> index e55b02fbddc8..c1b2d0dc3078 100644
> --- a/arch/arm64/mm/mmu.c
> +++ b/arch/arm64/mm/mmu.c
> @@ -119,7 +119,7 @@ static phys_addr_t __init early_pgtable_alloc(int shift)
>  	return phys;
>  }
>  
> -bool pgattr_change_is_safe(u64 old, u64 new)
> +bool pgattr_change_is_safe(pteval_t old, pteval_t new)
>  {
>  	/*
>  	 * The following mapping attributes may be updated in live




More information about the linux-arm-kernel mailing list