Subject: [PATCH 5/6] ARM: kvm: Use phys_addr_t instead of unsigned long in mm code

From: [email-masked] (Marc Zyngier)
Date: Fri, 15 Nov 2013 11:58:50 +0000

On 14/11/13 19:37, Santosh Shilimkar wrote:
> The unsigned long datatype is not sufficient for mapping physical addresses
> greater than 4GB.
> 
> So fix the KVM mm code accordingly. Special thanks to Christopher for debug
> help to figure out the bug.
> 
> Cc: Christoffer Dall <[email-masked]>
> Cc: Marc Zyngier <[email-masked]>
> 
> Signed-off-by: Santosh Shilimkar <[email-masked]>

Nice catch.

Acked-by: Marc Zyngier <[email-masked]>

	M.

> ---
>  arch/arm/kvm/mmu.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c
> index 3bd652f..657f15e 100644
> --- a/arch/arm/kvm/mmu.c
> +++ b/arch/arm/kvm/mmu.c
> @@ -318,7 +318,7 @@ out:
>   */
>  int create_hyp_mappings(void *from, void *to)
>  {
> -	unsigned long phys_addr = virt_to_phys(from);
> +	phys_addr_t phys_addr = virt_to_phys(from);
>  	unsigned long start = KERN_TO_HYP((unsigned long)from);
>  	unsigned long end = KERN_TO_HYP((unsigned long)to);
>  
> 

-- 
Jazz is not dead. It just smells funny...