Re: [PATCH] powerpc/le: enable RTAS events support

From: Stewart Smith
Date: Mon Mar 31 2014 - 18:15:33 EST


Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> writes:
> On Mon, 31 Mar 2014 09:27:16 +1100
> Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> wrote:
>> Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> writes:
>> > struct rtas_error_log {
>> > +#ifdef __BIG_ENDIAN__
>> > + /* Byte 0 */
>> > unsigned long version:8; /* Architectural version */
>> > + /* Byte 1 */
>>
>> I think it would be great if we got rid of the usage of bitfields. As
>> soon as the mood of the compiler changes, this code is going to break.
>
> True... even though I am not so sure the compiler is likely to break
> things in this specific case where no bitfield crosses the byte boundary.
> Anyway, Nathan has done some work in the direction you suggest.

It's allowed to, and it's allowed to based on compiler flags or phase of
the moon (and I've seen odd things because of this in the past) and my
bet is that there's no automated regression test that actually checks
that a newly built kernel from all distros actually works for parsing RTAS.

Besides, for things like unsigned long version:8 can easily be replaced
by uint8_t and teh problem goes away (at least for that bit).

I just hope the code we're getting this from doesn't also use bitfields :)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/