On Wed, Sep 8, 2021 at 7:16 AM Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > 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. So it can only be fixed by obfuscating the constant address in a chain of out-of-line functions... How is this compiler to be used for bare-metal programming? > I don't know the hardware, so I can not answer the ioremap() question. Yes it should. But this driver dates back to 2.1.110, when only half of the architectures already had ioremap(). Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds