[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121011103257.GO4625@n2100.arm.linux.org.uk>
Date: Thu, 11 Oct 2012 11:32:57 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: Måns Rullgård <mans@...sr.com>,
Jon Masters <jonathan@...masters.org>, netdev@...r.kernel.org,
David Laight <David.Laight@...LAB.COM>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: alignment faults in 3.6
On Thu, Oct 11, 2012 at 12:22:06PM +0200, Eric Dumazet wrote:
> I took a look, and I dont see why/how gcc could use a ldm instruction
>
> Doing so assumed the alignment of the structure was 8 bytes, but its
> not.
>
> Networking stack mandates that IP headers are aligned on 4 bytes
> boundaries, not 8 bytes.
Err, no. ldm is "load multiple" not "load double". It loads multiple
32-bit registers, and its requirement for non-faulting behaviour is for
the pointer to be 4 byte aligned. However, "load double" requires 8
byte alignment.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists