Re: [PATCH 2/4] net: i825xx: Use absolute_pointer for memcpy on fixed memory location

From: Guenter Roeck
Date: Sun Sep 12 2021 - 12:16:13 EST


On 9/12/21 9:11 AM, Jeroen Roovers wrote:
On Sun, 12 Sep 2021 09:01:47 -0700
Guenter Roeck <linux@xxxxxxxxxxxx> wrote:

gcc 11.x reports the following compiler warning/error.

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]

Use absolute_address() to work around the problem.

=> absolute_pointer()


Oopsie. Thanks!

Guenter

Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
drivers/net/ethernet/i825xx/82596.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/i825xx/82596.c
b/drivers/net/ethernet/i825xx/82596.c index
b8a40146b895..b482f6f633bd 100644 ---
a/drivers/net/ethernet/i825xx/82596.c +++
b/drivers/net/ethernet/i825xx/82596.c @@ -1144,7 +1144,7 @@ static
struct net_device * __init i82596_probe(void) err = -ENODEV;
goto out;
}
- memcpy(eth_addr, (void *) 0xfffc1f2c,
ETH_ALEN); /* YUCK! Get addr from NOVRAM */
+ memcpy(eth_addr, absolute_pointer(0xfffc1f2c),
ETH_ALEN); /* YUCK! Get addr from NOVRAM */ dev->base_addr =
MVME_I596_BASE; dev->irq = (unsigned) MVME16x_IRQ_I596;
goto found;


Regards,
jer