Re: [PATCH] drivers: w1: make w1_slave::flags long to avoid casts

Рустафа Джамурахметов
2013-11-02T04:16:50Z

Hi

01.11.2013, 23:30, "Andrew Morton" <akpm@linux-foundation.org>:

> set_bit() operates on longs.  So if we do
>
> struct foo {
>         u32 a;
>         u32 b;
> } f;
>
>         ...
>         set_bit(0, (long *)&f.a);
>         ...
>
> then we'll scribble on f.b on a big-endian 64-bit machine.

Argh, why would we just don't do that? Its in-memory field, it can be anything,
I wouldn't be surprised if it even can be non-atomic because of proper locks already
being held