alignment faults in 3.6
Mans Rullgard
mans.rullgard at linaro.org
Sat Oct 6 12:04:33 EDT 2012
On 5 October 2012 23:42, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Fri, Oct 05, 2012 at 11:37:40PM +0100, Mans Rullgard wrote:
>> The problem is the (__be32 *) casts. This is a normal pointer to a 32-bit,
>> which is assumed to be aligned, and the cast overrides the packed attribute
>> from the struct. Dereferencing these cast expressions must be done with the
>> macros from asm/unaligned.h
>
> Again, not going to happen.
There are only two options for fixing this:
1. Ensure the struct is always aligned.
2. Declare it packed (and fix casts).
Refusing to do either leaves us with a broken kernel. Is that what you want?
--
Mans Rullgard / mru
More information about the linux-arm-kernel
mailing list