Re: [PATCH] Enable '-Werror' by default for all kernel builds

From: Guenter Roeck
Date: Wed Sep 08 2021 - 01:14:48 EST


On 9/7/21 9:48 PM, Al Viro wrote:
On Tue, Sep 07, 2021 at 09:28:38PM -0700, Guenter Roeck wrote:

memcpy(eth_addr, sanitize_address((void *) 0xfffc1f2c), ETH_ALEN);

but that just seems weird. Is there a better solution ?

(char (*)[ETH_ALEN])? Said that, shouldn't that be doing something like
ioremap(), rather than casting explicit constants?


Typecasts or even assigning the address to a variable does not help.
The sanitizer function can not be static either.

I don't know the hardware, so I can not answer the ioremap() question.

This is just one example, though; there are several sprinkled throughout
the code. Another is:

arch/parisc/kernel/setup.c: running_on_qemu = (memcmp(&PAGE0->pad0, "SeaBIOS", 8) == 0);

where

#define PAGE0 ((struct zeropage *)__PAGE_OFFSET)

and __PAGE_OFFSET depends on the configuration.

That code runs early in setup; I don't think ioremap() would even
be available at that time. A workaround for that problem would be
a global variable pointing to PAGE0 (or of course an address sanitizer
function), but again that seems odd just to make the compiler happy.

Guenter