Commit d6b45484 authored by Uros Bizjak's avatar Uros Bizjak Committed by Peter Zijlstra
Browse files

locking/arch: Avoid variable shadowing in local_try_cmpxchg()

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: d994f2c8 ("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: default avatarCharlemagne Lasse <charlemagnelasse@gmail.com>
Signed-off-by: default avatarUros Bizjak <ubizjak@gmail.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20230708090048.63046-1-ubizjak@gmail.com
parent 28fd85a1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)))
+2 −2
Original line number Diff line number Diff line
@@ -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)))
+2 −2
Original line number Diff line number Diff line
@@ -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 */