linux-stable/arch
Srinivas KANDAGATLA 5bdbd4fa4d sh: Fix up xchg/cmpxchg corruption with gUSA RB.
gUSA special cases r15 for part of its login/out sequence, meaning that
any parameters need to be explicitly prohibited from accidentally being
assigned that particular register, and the compiler ultimately needs to
use a temporary instead.

Certain configurations have begun generating code paths that do indeed
get allocated r15, resulting in immediate corruption of the exchanged
value. This was observed in (amongst others) exit_mm() code generation
where the xchg_u32 call was immediately corrupting a structure address.

As this is a general gUSA restriction, the rest of the users likewise
need to be updated to ensure sensible constraints.

References: https://bugzilla.stlinux.com/show_bug.cgi?id=11229
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Reviewed-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-08 15:22:39 +09:00
..
alpha Merge branch 'setns' 2011-05-28 10:51:01 -07:00
arm Merge branch 'for-linus' of git://android.git.kernel.org/kernel/tegra 2011-06-05 08:11:11 +09:00
avr32 Merge branch 'setns' 2011-05-28 10:51:01 -07:00
blackfin Blackfin: strncpy: fix handling of zero lengths 2011-06-03 11:05:36 -04:00
cris Merge branch 'setns' 2011-05-28 10:51:01 -07:00
frv Merge branch 'setns' 2011-05-28 10:51:01 -07:00
h8300 Merge branch 'setns' 2011-05-28 10:51:01 -07:00
ia64 [IA64] wire up sendmmsg() syscall for Itanium 2011-05-31 10:09:24 -07:00
m32r Merge branch 'setns' 2011-05-28 10:51:01 -07:00
m68k Merge branch 'setns' 2011-05-28 10:51:01 -07:00
microblaze Merge branch 'setns' 2011-05-28 10:51:01 -07:00
mips Merge branch 'setns' 2011-05-28 10:51:01 -07:00
mn10300 Merge branch 'setns' 2011-05-28 10:51:01 -07:00
parisc Merge branch 'setns' 2011-05-28 10:51:01 -07:00
powerpc powerpc/pmac: Don't register pmac PIC syscore ops when HW not present 2011-05-31 20:30:20 +09:00
s390 [S390] mm: fix mmu_gather rework 2011-05-29 12:40:51 +02:00
score arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT} 2011-05-26 17:12:38 -07:00
sh sh: Fix up xchg/cmpxchg corruption with gUSA RB. 2011-06-08 15:22:39 +09:00
sparc Merge branch 'setns' 2011-05-28 10:51:01 -07:00
tile Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2011-05-29 11:29:28 -07:00
um arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT} 2011-05-26 17:12:38 -07:00
unicore32 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 2011-05-27 14:27:34 -07:00
x86 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2011-06-01 06:45:08 +09:00
xtensa Merge branch 'setns' 2011-05-28 10:51:01 -07:00
.gitignore
Kconfig mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00