[PATCHv2 2/2] arm64: Correct virt_addr_valid
Catalin Marinas
catalin.marinas at arm.com
Tue Dec 17 07:00:27 EST 2013
On Mon, Dec 16, 2013 at 07:01:45PM +0000, Laura Abbott wrote:
> diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
> index 3776217..b8ec776 100644
> --- a/arch/arm64/include/asm/memory.h
> +++ b/arch/arm64/include/asm/memory.h
> @@ -146,8 +146,9 @@ static inline void *phys_to_virt(phys_addr_t x)
> #define ARCH_PFN_OFFSET PHYS_PFN_OFFSET
>
> #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
> -#define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
> - ((void *)(kaddr) < (void *)high_memory))
> +#define virt_addr_valid(kaddr) (pfn_valid(__pa(kaddr) >> PAGE_SHIFT) && \
> + ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory))
> +
I still think the original patch was fine for arm64, no need for
additional checks since we don't have highmem and __pa() is always
linear.
--
Catalin
More information about the linux-arm-kernel
mailing list