lkml.org 
[lkml]   [2021]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] Enable '-Werror' by default for all kernel builds
Date
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

\
 
 \ /
  Last update: 2021-09-08 07:15    [W:0.137 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site