alignment faults in 3.6
Måns Rullgård
mans at mansr.com
Thu Oct 11 05:45:25 EDT 2012
"David Laight" <David.Laight at ACULAB.COM> writes:
>> -----Original Message-----
>> From: netdev-owner at vger.kernel.org [mailto:netdev-owner at vger.kernel.org] On Behalf Of Måns Rullgård
>> Sent: 11 October 2012 03:27
>> To: Jon Masters
>> Cc: linux-arm-kernel at lists.infradead.org; netdev at vger.kernel.org
>> Subject: Re: alignment faults in 3.6
>>
>> Jon Masters <jonathan at jonmasters.org> writes:
>>
>> > Hi everyone,
>> >
>> > On 10/05/2012 10:33 AM, Rob Herring wrote:
>> >> On 10/05/2012 09:05 AM, Russell King - ARM Linux wrote:
>> >>> On Fri, Oct 05, 2012 at 07:24:44AM -0500, Rob Herring wrote:
>> >>>> On 10/05/2012 03:24 AM, Russell King - ARM Linux wrote:
>> >>>>> Does it matter? I'm just relaying the argument against adding __packed
>> >>>>> which was used before we were forced (by the networking folk) to implement
>> >>>>> the alignment fault handler.
>> >>>>
>> >>>> It doesn't really matter what will be accepted or not as adding __packed
>> >>>> to struct iphdr doesn't fix the problem anyway.
> ...
>> There are exactly two possible solutions:
>>
>> 1. Change the networking code so those structs are always aligned. This
>> might not be (easily) possible.
>> 2. Mark the structs __packed and fix any typecasts like the ones seen in
>> this thread. This will have an adverse effect in cases where the
>> structs are in fact aligned.
>>
>> Both solutions lie squarely in the networking code. It's time to
>> involve that list, or we'll never get anywhere.
>
> It might be enough to use __attribute__((aligned(2))) on some structure
> members (actually does 'ldm' need 8 byte alignment?? - in which case
> aligned(4) is enough).
The aligned attribute can only increase alignment.
--
Måns Rullgård
mans at mansr.com
More information about the linux-arm-kernel
mailing list