asm-generic: Fix 32 bit __generic_cmpxchg_local
PATCH 1/1 asm-generic: Fix 32 bit __generic_cmpxchg_local
From: David McKay <[email protected]>
Commit 656e9007ef58 ("asm-generic: avoid __generic_cmpxchg_local warnings") introduced a typo that means the code is incorrect for 32 bit values. It will work fine for postive numbers, but will fail for negative numbers on a system where longs are 64 bit.
Fixes 656e9007ef58 ("asm-generic: avoid __generic_cmpxchg_local warnings")
Signed-off-by David McKay <[email protected]>
Signed-off-by Stuart Menefy <[email protected]>
--- include/asm-generic/cmpxchg-local.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/asm-generic/cmpxchg-local.h +1 -1
@@ -34,7 +34,7 @@ static inline unsigned long __generic_cmpxchg_local(volatile void *ptr, *(u16 *)ptr = (new &0xffffu );break ;case 4 : prev = *(u32 *)ptr; -if (prev == (old &0xffffffffffu )) +if (prev == (old &0xffffffffu )) *(u32 *)ptr = (new &0xffffffffu );break ;case 8 : prev = *(u64 *)ptr;
Signature · 1 line
2.39.3
Quoted 10 lines · Stuart Menefy
From: David McKay <[email protected]>
Commit
656e9007ef58("asm-generic: avoid__generic_cmpxchg_localwarnings") introduced a typo that means the code is incorrect for 32 bit values. It will work fine for postive numbers, but will fail for negative numbers on a system where longs are 64 bit.Fixes 656e9007ef58 ("asm-generic: avoid __generic_cmpxchg_local warnings")Signed-off-by David McKay <[email protected]>Signed-off-by Stuart Menefy <[email protected]>
Applied to the asm-generic tree, thanks a lot!
arnd