• Paul Mackerras's avatar
    powerpc: Fix data-corrupting bug in __futex_atomic_op · 306a8288
    Paul Mackerras authored
    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: default avatarPaul Mackerras <paulus@samba.org>
    306a8288
futex.h 2.8 KB