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

From: Michal Nazarewicz
Date: Sat Nov 02 2013 - 12:59:19 EST


> 01.11.2013, 23:30, "Andrew Morton" <akpm@xxxxxxxxxxxxxxxxxxxx>:
>> 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.

On Sat, Nov 02 2013, ÐÑÑÑÐÑÐ ÐÐÐÐÑÑÐÑÐÐÑÐÐ <zbr@xxxxxxxxxxx> wrote:
> 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

If the driver does not require an atomic set_bit operation for setting
and testing the flag, feel free to prepare a patch replacing the whole
thing with a plain bool.

Attachment: signature.asc
Description: PGP signature