alignment faults in 3.6
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Oct 5 03:29:14 EDT 2012
On Thu, Oct 04, 2012 at 06:10:26PM -0500, Rob Herring wrote:
> I would think the scheduling while atomic messages are harmless in this
> case. However, in addition to spewing out BUG messages this commit also
> seems to eventually cause a kernel panic in __napi_complete. That panic
> seems to go away if I put barrier() between the 2 accesses above which
> eliminates the alignment faults. I haven't figured that part out yet.
>
> There's at least a couple of problems here:
>
> This seems like an overly aggressive compiler optimization considering
> unaligned accesses are not supported by ldm/stm.
>
> The alignment fault handler should handle kernel address faults atomically.
This is bad news. do_alignment() can be called in almost any kernel
context, and it must work. die() and oops dumps - specifically dump_mem()
and dump_instr() will suffer from exactly the same problem.
Will, can you take a look please?
More information about the linux-arm-kernel
mailing list