On Sat, May 08, 2004 at 09:18:22AM +0200, Ralf Baechle wrote:
> On Fri, May 07, 2004 at 06:10:31PM -0700, Jun Sun wrote:
> > I got a bunch of segfaults which are due to HAS_LLSCD cpu operating
> > on a semaphore which is aligned along 4-byte boundary instead of the
> > desired 8-byte boundary.
> Dare to give a complete version number? I've dumped 2.4 on all my systems
> months ago and never have seen this problem except with slab debugging
> enabled - but that side effect of slab debugging is known since years.
Kernel is yesterday's CVS. gcc is 3.3.1. config is ddb5477. No
additional patch. See below.
In any case if you look at the uart code you should see there
is a problem already. 'state' is allocated through kmalloc() which only
gives 4-byte alignement. The only puzzling thing is that why this
did not show up before. Maybe kmalloc() was giving 8-byte aligned block?
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 6
[jsun@orion linux]$ mipsel-linux-gcc -v
Reading specs from
Configured with: ../configure --host=i686-pc-linux-gnu
--enable-languages=c,c++ --enable-__cxa_atexit --enable-threads=posix
Thread model: posix
gcc version 3.3.1 (MontaVista 3.3.1-3.0.10.0300532 2003-12-24)