lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 4 Nov 2006 09:41:43 -0800 (PST)
From:	Linus Torvalds <torvalds@...l.org>
To:	Ingo Molnar <mingo@...e.hu>
cc:	Falk Hueffner <falk@...ian.org>, linux-kernel@...r.kernel.org
Subject: Re: ipc/msg.c "cleanup" breaks fakeroot on Alpha



On Sat, 4 Nov 2006, Ingo Molnar wrote:
> 
> * Falk Hueffner <falk@...ian.org> wrote:
> 
> > -	struct msg_msg* volatile r_msg;
> > +	volatile struct msg_msg	*r_msg;
> >  };
> >  
> > breaks fakeroot on Alpha (variously hangs or oopses). Backing it out 
> > of 2.6.19-rc4 fixes the issue. Is it possible that this change (which 
> > clearly does change semantics) was made in error?
> 
> correct, it was an error, lets back it out.
> 
> Another interesting question is: what in the IPC code relies on the 
> volatility of this field, and shouldnt it be converted to explicit 
> barriers instead?

Absolutely. Anything that depends on "volatile" is broken by definition, 
since volatile does _not_ imply memory barriers, and while it may 
constrict the compiler in certain ways (and thus effectively make it work 
on things like x86 where the memory ordering is fairly easy to get to 
work), it is not going to do _anything_ on some other architectures, 
except just perhaps make a bug harder to trigger.

Falk - do you have a couple of the oopses (the more, the better: race 
conditions tend to have subtle oopses, and with more oopses it is easier 
to try to figure out the pattern) that you can point people at, so that we 
can get an idea of what's going on.

This looks like a classic case of "volatile is a sign of a bug".

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ