[PATCH 0/4] Introduce and use absolute_pointer macro

From: Guenter Roeck
Date: Sun Sep 12 2021 - 12:01:57 EST


Kernel test builds currently fail for several architectures with error
messages such as the following.

drivers/net/ethernet/i825xx/82596.c: In function 'i82596_probe':
./arch/m68k/include/asm/string.h:72:25: error:
'__builtin_memcpy' reading 6 bytes from a region of size 0
[-Werror=stringop-overread]

Such warnings may be reported by gcc 11.x for string and memory operations
on fixed addresses.

This patch series introduces absolute_pointer() to fix the problem.
absolute_pointer() disassociates a pointer from its originating symbol
type and context, and thus prevents gcc from making assumptions about
pointers passed to memory operations.

----------------------------------------------------------------
Guenter Roeck (4):
compiler.h: Introduce absolute_pointer macro
net: i825xx: Use absolute_pointer for memcpy on fixed memory location
parisc: Use absolute_pointer for memcmp on fixed memory location
alpha: Use absolute_pointer for strcmp on fixed memory location

arch/alpha/kernel/setup.c | 2 +-
arch/parisc/kernel/setup.c | 2 +-
drivers/net/ethernet/i825xx/82596.c | 2 +-
include/linux/compiler.h | 2 ++
4 files changed, 5 insertions(+), 3 deletions(-)