aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/dtl.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2009-04-13 14:09:09 +0000
committerPaul Mackerras <paulus@samba.org>2009-04-15 15:23:53 +1000
commit306a82881b14d950d59e0b59a55093a07d82aa9a (patch)
tree73add71069ebf9572f898c0cc9ea6b889f1a7905 /arch/powerpc/platforms/pseries/dtl.c
parentc58dc575f3c8bdc69fb868ec51e1c80ee7cae5e7 (diff)
downloadkernel_samsung_tuna-306a82881b14d950d59e0b59a55093a07d82aa9a.zip
kernel_samsung_tuna-306a82881b14d950d59e0b59a55093a07d82aa9a.tar.gz
kernel_samsung_tuna-306a82881b14d950d59e0b59a55093a07d82aa9a.tar.bz2
powerpc: Fix data-corrupting bug in __futex_atomic_op
Richard Henderson pointed out that the powerpc __futex_atomic_op has a bug: it will write the wrong value if the stwcx. fails and it has to retry the lwarx/stwcx. loop, since 'oparg' will have been overwritten by the result from the first time around the loop. This happens because it uses the same register for 'oparg' (an input) as it uses for the result. This fixes it by using separate registers for 'oparg' and 'ret'. Cc: stable@kernel.org Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/dtl.c')
0 files changed, 0 insertions, 0 deletions