Linux 2.6.35.3

Mark Stanovich
2010-08-21T03:44:41Z

After updating to the 2.6.35.3 stable release, my machine was
rebooting automatically during the first few seconds of boot.

I bisected to the first bad commit of

commit 568132624386f53e87575195d868db
9afb2e9316
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Tue Jul 27 17:01:49 2010 -0700

x86: Add memory modify constraints to xchg() and cmpxchg()

commit 113fc5a6e8c2288619ff7e8187a6f556b7e0d372 upstream.

xchg() and cmpxchg() modify their memory operands, not merely read
them.  For some versions of gcc the "memory" clobber has apparently
dealt with the situation, but not for all.

I noticed that the latest version pulled from Linus's git tree did not
have the problem.  After looking at the changes to
arch/x86/include/asm/cmpxchg_32.h, I cherry-picked two patches from
Linus's tree that seemed to make a difference, namely:

69309a05907546fb686b251d4ab041c26afe1e1d
4532b305e8f0c238dd73048068ff8a6dd1380291

Applying these patches solved the rebooting problem on 2.6.35.3

I believe the same problem also happens for the latest stable version
of 2.6.34, but did not verify the fix worked for the 2.6.34 stable
releases.

I don't know if this is helpful, but I thought I would let you know in
case someone else is having the same problem.

If you need any further information, just let me know.

- Mark