[SPARC64]: Fix race in LOAD_PER_CPU_BASE()
authorDavid S. Miller <davem@davemloft.net>
Wed, 1 Feb 2006 02:34:51 +0000 (18:34 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 20 Mar 2006 09:11:29 +0000 (01:11 -0800)
commit86b818687d4894063ecd1190e54717a0cce8c009
treed2951295358502c88f7fe0c02517d729cff4eb9a
parent9954863975910a1b9372b7d5006a6cba43bdd288
[SPARC64]: Fix race in LOAD_PER_CPU_BASE()

Since we use %g5 itself as a temporary, it can get clobbered
if we take an interrupt mid-stream and thus cause end up with
the final %g5 value too early as a result of rtrap processing.

Set %g5 at the very end, atomically, to avoid this problem.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/etrap.S
arch/sparc64/kernel/rtrap.S
arch/sparc64/kernel/winfixup.S
include/asm-sparc64/cpudata.h