Subject: linux-next: build warning after merge of the tip tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 14 Dec 2020 16:48:36 +1100

Hi all,

After merging the tip tree, today's linux-next build (arm
multi_v7_defconfig) produced this warning:

In file included from include/linux/kernel.h:14,
                 from include/linux/list.h:9,
                 from include/linux/wait.h:7,
                 from include/linux/wait_bit.h:8,
                 from include/linux/fs.h:6,
                 from include/linux/proc_fs.h:10,
                 from include/linux/efi.h:19,
                 from drivers/firmware/efi/libstub/arm32-stub.c:5:
drivers/firmware/efi/libstub/arm32-stub.c: In function 'handle_kernel_image':
include/linux/minmax.h:18:28: warning: comparison of distinct pointer types lacks a cast
   18 |  (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
      |                            ^~
include/linux/minmax.h:32:4: note: in expansion of macro '__typecheck'
   32 |   (__typecheck(x, y) && __no_side_effects(x, y))
      |    ^~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
   42 |  __builtin_choose_expr(__safe_cmp(x, y), \
      |                        ^~~~~~~~~~
include/linux/minmax.h:58:19: note: in expansion of macro '__careful_cmp'
   58 | #define max(x, y) __careful_cmp(x, y, >)
      |                   ^~~~~~~~~~~~~
arch/arm/include/asm/efi.h:74:25: note: in expansion of macro 'max'
   74 | #define EFI_PHYS_ALIGN  max(SZ_2M, roundup_pow_of_two(TEXT_OFFSET))
      |                         ^~~
drivers/firmware/efi/libstub/arm32-stub.c:123:44: note: in expansion of macro 'EFI_PHYS_ALIGN'
  123 |  int alloc_size = MAX_UNCOMP_KERNEL_SIZE + EFI_PHYS_ALIGN;
      |                                            ^~~~~~~~~~~~~~
include/linux/minmax.h:18:28: warning: comparison of distinct pointer types lacks a cast
   18 |  (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
      |                            ^~
include/linux/minmax.h:32:4: note: in expansion of macro '__typecheck'
   32 |   (__typecheck(x, y) && __no_side_effects(x, y))
      |    ^~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
   42 |  __builtin_choose_expr(__safe_cmp(x, y), \
      |                        ^~~~~~~~~~
include/linux/minmax.h:58:19: note: in expansion of macro '__careful_cmp'
   58 | #define max(x, y) __careful_cmp(x, y, >)
      |                   ^~~~~~~~~~~~~
arch/arm/include/asm/efi.h:74:25: note: in expansion of macro 'max'
   74 | #define EFI_PHYS_ALIGN  max(SZ_2M, roundup_pow_of_two(TEXT_OFFSET))
      |                         ^~~
drivers/firmware/efi/libstub/arm32-stub.c:139:20: note: in expansion of macro 'EFI_PHYS_ALIGN'
  139 |  if ((alloc_base % EFI_PHYS_ALIGN) > slack) {
      |                    ^~~~~~~~~~~~~~
In file included from include/linux/list.h:9,
                 from include/linux/wait.h:7,
                 from include/linux/wait_bit.h:8,
                 from include/linux/fs.h:6,
                 from include/linux/proc_fs.h:10,
                 from include/linux/efi.h:19,
                 from drivers/firmware/efi/libstub/arm32-stub.c:5:
include/linux/minmax.h:18:28: warning: comparison of distinct pointer types lacks a cast
   18 |  (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
      |                            ^~
include/linux/kernel.h:63:46: note: in definition of macro '__round_mask'
   63 | #define __round_mask(x, y) ((__typeof__(x))((y)-1))
      |                                              ^
drivers/firmware/efi/libstub/arm32-stub.c:144:17: note: in expansion of macro 'round_up'
  144 |   kernel_base = round_up(alloc_base, EFI_PHYS_ALIGN);
      |                 ^~~~~~~~
include/linux/minmax.h:32:4: note: in expansion of macro '__typecheck'
   32 |   (__typecheck(x, y) && __no_side_effects(x, y))
      |    ^~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
   42 |  __builtin_choose_expr(__safe_cmp(x, y), \
      |                        ^~~~~~~~~~
include/linux/minmax.h:58:19: note: in expansion of macro '__careful_cmp'
   58 | #define max(x, y) __careful_cmp(x, y, >)
      |                   ^~~~~~~~~~~~~
arch/arm/include/asm/efi.h:74:25: note: in expansion of macro 'max'
   74 | #define EFI_PHYS_ALIGN  max(SZ_2M, roundup_pow_of_two(TEXT_OFFSET))
      |                         ^~~
drivers/firmware/efi/libstub/arm32-stub.c:144:38: note: in expansion of macro 'EFI_PHYS_ALIGN'
  144 |   kernel_base = round_up(alloc_base, EFI_PHYS_ALIGN);
      |                                      ^~~~~~~~~~~~~~
include/linux/minmax.h:18:28: warning: comparison of distinct pointer types lacks a cast
   18 |  (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
      |                            ^~
include/linux/kernel.h:63:46: note: in definition of macro '__round_mask'
   63 | #define __round_mask(x, y) ((__typeof__(x))((y)-1))
      |                                              ^
drivers/firmware/efi/libstub/arm32-stub.c:148:17: note: in expansion of macro 'round_down'
  148 |   kernel_base = round_down(alloc_base, EFI_PHYS_ALIGN);
      |                 ^~~~~~~~~~
include/linux/minmax.h:32:4: note: in expansion of macro '__typecheck'
   32 |   (__typecheck(x, y) && __no_side_effects(x, y))
      |    ^~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
   42 |  __builtin_choose_expr(__safe_cmp(x, y), \
      |                        ^~~~~~~~~~
include/linux/minmax.h:58:19: note: in expansion of macro '__careful_cmp'
   58 | #define max(x, y) __careful_cmp(x, y, >)
      |                   ^~~~~~~~~~~~~
arch/arm/include/asm/efi.h:74:25: note: in expansion of macro 'max'
   74 | #define EFI_PHYS_ALIGN  max(SZ_2M, roundup_pow_of_two(TEXT_OFFSET))
      |                         ^~~
drivers/firmware/efi/libstub/arm32-stub.c:148:40: note: in expansion of macro 'EFI_PHYS_ALIGN'
  148 |   kernel_base = round_down(alloc_base, EFI_PHYS_ALIGN);
      |                                        ^~~~~~~~~~~~~~

Introduced by commit

  c0249238feef ("efi: arm: reduce minimum alignment of uncompressed kernel")

-- 
Cheers,
Stephen Rothwell