On 18 April 2016 at 10:34, Arnd Bergmann <[email protected]> wrote:
> memblock_remove() takes a phys_addr_t, which may be narrower than 64 bits,
> causing a harmless warning:
>
> drivers/firmware/efi/arm-init.c: In function 'reserve_regions':
> include/linux/kernel.h:29:20: error: large integer implicitly truncated to 
> unsigned type [-Werror=overflow]
>  #define ULLONG_MAX (~0ULL)
>                     ^
> drivers/firmware/efi/arm-init.c:152:21: note: in expansion of macro 
> 'ULLONG_MAX'
>   memblock_remove(0, ULLONG_MAX);
>
> This adds an explicit typecast to avoid the warning
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> Fixes: 500899c2cc3e ("efi: ARM/arm64: ignore DT memory nodes instead of 
> removing them")

Acked-by: Ard Biesheuvel <[email protected]>

> ---
>  drivers/firmware/efi/arm-init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c
> index 434dd6065935..fac567c3b66a 100644
> --- a/drivers/firmware/efi/arm-init.c
> +++ b/drivers/firmware/efi/arm-init.c
> @@ -149,7 +149,7 @@ static __init void reserve_regions(void)
>          * uses its own memory map instead.
>          */
>         memblock_dump_all();
> -       memblock_remove(0, ULLONG_MAX);
> +       memblock_remove(0, (phys_addr_t)ULLONG_MAX);
>
>         for_each_efi_memory_desc(&memmap, md) {
>                 paddr = md->phys_addr;
> --
> 2.7.0
>

Reply via email to