locking/arch: Avoid variable shadowing in local_try_cmpxchg()
authorUros Bizjak <ubizjak@gmail.com>
Sat, 8 Jul 2023 09:00:36 +0000 (11:00 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 10 Jul 2023 07:52:36 +0000 (09:52 +0200)
Several architectures define arch_try_local_cmpxchg macro using
internal temporary variables named ___old, __old or _old. Remove
temporary varible in local_try_cmpxchg to avoid variable shadowing.

No functional change intended.

Fixes: d994f2c8e241 ("locking/arch: Wire up local_try_cmpxchg()")
Closes: https://lore.kernel.org/lkml/CAFGhKbyxtuk=LoW-E3yLXgcmR93m+Dfo5-u9oQA_YC5Fcy_t9g@mail.gmail.com/
Reported-by: Charlemagne Lasse <charlemagnelasse@gmail.com>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20230708090048.63046-1-ubizjak@gmail.com
arch/loongarch/include/asm/local.h
arch/mips/include/asm/local.h
arch/x86/include/asm/local.h

index 83e995b..c496758 100644 (file)
@@ -63,8 +63,8 @@ static inline long local_cmpxchg(local_t *l, long old, long new)
 
 static inline bool local_try_cmpxchg(local_t *l, long *old, long new)
 {
-       typeof(l->a.counter) *__old = (typeof(l->a.counter) *) old;
-       return try_cmpxchg_local(&l->a.counter, __old, new);
+       return try_cmpxchg_local(&l->a.counter,
+                                (typeof(l->a.counter) *) old, new);
 }
 
 #define local_xchg(l, n) (atomic_long_xchg((&(l)->a), (n)))
index 5daf6fe..e6ae3df 100644 (file)
@@ -101,8 +101,8 @@ static __inline__ long local_cmpxchg(local_t *l, long old, long new)
 
 static __inline__ bool local_try_cmpxchg(local_t *l, long *old, long new)
 {
-       typeof(l->a.counter) *__old = (typeof(l->a.counter) *) old;
-       return try_cmpxchg_local(&l->a.counter, __old, new);
+       return try_cmpxchg_local(&l->a.counter,
+                                (typeof(l->a.counter) *) old, new);
 }
 
 #define local_xchg(l, n) (atomic_long_xchg((&(l)->a), (n)))
index 56d4ef6..635132a 100644 (file)
@@ -127,8 +127,8 @@ static inline long local_cmpxchg(local_t *l, long old, long new)
 
 static inline bool local_try_cmpxchg(local_t *l, long *old, long new)
 {
-       typeof(l->a.counter) *__old = (typeof(l->a.counter) *) old;
-       return try_cmpxchg_local(&l->a.counter, __old, new);
+       return try_cmpxchg_local(&l->a.counter,
+                                (typeof(l->a.counter) *) old, new);
 }
 
 /* Always has a lock prefix */