[PATCH] ARM: use phys_addr_t in pfn_to_kaddr()
santosh shilimkar
santosh.shilimkar at oracle.com
Wed Jun 24 12:22:48 PDT 2015
On 6/23/2015 8:13 AM, Vitaly Andrianov wrote:
> This patch fixes pfn_to_kaddr() to use phys_addr_t. Without this,
> this macro is broken on LPAE systems. For physical addresses above
> first 4GB result of shifting pfn with PAGE_SHIFT may be truncated.
>
> Signed-off-by: Vitaly Andrianov <vitalya at ti.com>
> ---
Looks a valid fix.
RMK, Nico, what you say ?
> arch/arm/include/asm/memory.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
> index 184def0..063ef31 100644
> --- a/arch/arm/include/asm/memory.h
> +++ b/arch/arm/include/asm/memory.h
> @@ -291,7 +291,7 @@ static inline void *phys_to_virt(phys_addr_t x)
> */
> #define __pa(x) __virt_to_phys((unsigned long)(x))
> #define __va(x) ((void *)__phys_to_virt((phys_addr_t)(x)))
> -#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
> +#define pfn_to_kaddr(pfn) __va((phys_addr_t)(pfn) << PAGE_SHIFT)
>
> extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
>
>
More information about the linux-arm-kernel
mailing list