Hi everyone, When cross-compiling arm 5.19-rc1 kernel using GCC 12.1.0 (armv7 with neon fpu, multi_v7_defconfig), I got outside array bounds warning pointing to virt_to_phys() macro: DTC arch/arm/boot/dts/am335x-evm.dtb In file included from ./arch/arm/include/asm/page.h:163, from ./arch/arm/include/asm/thread_info.h:14, from ./include/linux/thread_info.h:60, from ./include/asm-generic/preempt.h:5, from ./arch/arm/include/generated/asm/preempt.h:1, from ./include/linux/preempt.h:78, from ./include/linux/spinlock.h:55, from ./include/linux/wait.h:9, 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 arch/arm/kernel/setup.c:7: In function 'request_standard_resources', inlined from 'setup_arch' at arch/arm/kernel/setup.c:1158:2: ./arch/arm/include/asm/memory.h:311:22: warning: array subscript -1 is outside array bounds of 'char[2147483647]' [-Warray-bounds] 311 | #define virt_to_phys virt_to_phys arch/arm/kernel/setup.c:855:31: note: in expansion of macro 'virt_to_phys' 855 | kernel_code.end = virt_to_phys(__init_begin - 1); | ^~~~~~~~~~~~ In file included from ./include/linux/pid_namespace.h:7, from ./include/linux/ptrace.h:10, from ./include/linux/elfcore.h:11, from ./include/linux/crash_core.h:6, from ./include/linux/kexec.h:18, from arch/arm/kernel/setup.c:20: ./include/linux/mm.h: In function 'setup_arch': ./include/linux/mm.h:2500:21: note: at offset -1 into object '__init_begin' of size [0, 2147483647] 2500 | extern char __init_begin[], __init_end[]; | ^~~~~~~~~~~~ In function 'request_standard_resources', inlined from 'setup_arch' at arch/arm/kernel/setup.c:1158:2: ./arch/arm/include/asm/memory.h:311:22: warning: array subscript -1 is outside array bounds of 'char[2147483647]' [-Warray-bounds] 311 | #define virt_to_phys virt_to_phys arch/arm/kernel/setup.c:857:31: note: in expansion of macro 'virt_to_phys' 857 | kernel_data.end = virt_to_phys(_end - 1); | ^~~~~~~~~~~~ In file included from ./arch/arm/include/asm/sections.h:5, from ./include/linux/interrupt.h:21, from ./include/linux/rtc.h:17, from ./include/linux/efi.h:20: ./include/asm-generic/sections.h: In function 'setup_arch': ./include/asm-generic/sections.h:41:13: note: at offset -1 into object '_end' of size [0, 2147483647] 41 | extern char _end[]; | ^~~~ Thanks. Reported-by: Bagas Sanjaya <bagasdotme@xxxxxxxxx> -- An old man doll... just what I always wanted! - Clara