Skip to contentSkip to conversation

futex: Fix sparc32/m68k/nds32 build regression

PATCH Applied Arnd Bergmann 3 participants 4 messages Nov 26, 2021 – Dec 10, 2021

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 futex: Fix sparc32/m68k/nds32 build regression

From: Arnd Bergmann <[email protected]>

In one of the revisions of my futex cleanup series, I botched up a rename of some function names, breaking sparc32, m68k and nds32:

include/asm-generic/futex.h:17:2: error: implicit declaration of function 'futex_atomic_cmpxchg_inatomic_local_generic'; did you mean 'futex_atomic_cmpxchg_inatomic_local'? [-Werror=implicit-function-declaration]

Fix the macros to point to the correct functions.

Fixes 3f2bedabb62c ("futex: Ensure futex_atomic_cmpxchg_inatomic() is present")
---
 include/asm-generic/futex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
include/asm-generic/futex.h +2 -2
index 30e7fa63b5df..66d6843bfd02 100644
@@ -14,9 +14,9 @@
  *
  */
 #define futex_atomic_cmpxchg_inatomic(uval, uaddr, oldval, newval) \
-	futex_atomic_cmpxchg_inatomic_local_generic(uval, uaddr, oldval, newval)
+	futex_atomic_cmpxchg_inatomic_local(uval, uaddr, oldval, newval)
 #define arch_futex_atomic_op_inuser(op, oparg, oval, uaddr) \
-	arch_futex_atomic_op_inuser_local_generic(op, oparg, oval, uaddr)
+	futex_atomic_op_inuser_local(op, oparg, oval, uaddr)
 #endif /* CONFIG_SMP */
 #endif
 
Signature · 1 line
2.29.2
merge bot Applied
#1 lore raw
The following commit has been merged into the locking/core branch of tip:

The following commit has been merged into the locking/core branch of tip:

Commit-ID:     4e0d84634445ed550498d613a49ea8f6cfa5e66c
Gitweb:        https://git.kernel.org/tip/4e0d84634445ed550498d613a49ea8f6cfa5e66c
Author:        Arnd Bergmann <[email protected]>
AuthorDate:    Fri, 26 Nov 2021 10:58:40 +01:00
Committer:     Thomas Gleixner <[email protected]>
CommitterDate: Fri, 26 Nov 2021 21:50:36 +01:00

futex: Fix sparc32/m68k/nds32 build regression

The recent futex cleanup series, botched up a rename of some function names, breaking sparc32, m68k and nds32:

include/asm-generic/futex.h:17:2: error: implicit declaration of function 'futex_atomic_cmpxchg_inatomic_local_generic'; did you mean 'futex_atomic_cmpxchg_inatomic_local'? [-Werror=implicit-function-declaration]

Fix the macros to point to the correct functions.

Fixes 3f2bedabb62c ("futex: Ensure futex_atomic_cmpxchg_inatomic() is present")
---
 include/asm-generic/futex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
include/asm-generic/futex.h +2 -2
index 30e7fa6..66d6843 100644
@@ -14,9 +14,9 @@
  *
  */
 #define futex_atomic_cmpxchg_inatomic(uval, uaddr, oldval, newval) \
-	futex_atomic_cmpxchg_inatomic_local_generic(uval, uaddr, oldval, newval)
+	futex_atomic_cmpxchg_inatomic_local(uval, uaddr, oldval, newval)
 #define arch_futex_atomic_op_inuser(op, oparg, oval, uaddr) \
-	arch_futex_atomic_op_inuser_local_generic(op, oparg, oval, uaddr)
+	futex_atomic_op_inuser_local(op, oparg, oval, uaddr)
 #endif /* CONFIG_SMP */
 #endif
 
#2 lore raw
In reply to Arnd Bergmann
Quoted 22 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

In one of the revisions of my futex cleanup series, I botched up a rename of some function names, breaking sparc32, m68k and nds32:

include/asm-generic/futex.h:17:2: error: implicit declaration of function 'futex_atomic_cmpxchg_inatomic_local_generic'; did you mean 'futex_atomic_cmpxchg_inatomic_local'? [-Werror=implicit-function-declaration]

Fix the macros to point to the correct functions.

Fixes 3f2bedabb62c ("futex: Ensure futex_atomic_cmpxchg_inatomic() is present")
---
 include/asm-generic/futex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
include/asm-generic/futex.h +0 -0
index 30e7fa63b5df..66d6843bfd02 100644

include/asm-generic/futex.h line 21

Quoted 10 lines
include/asm-generic/futex.h +2 -2
@@ -14,9 +14,9 @@
  *
  */
 #define futex_atomic_cmpxchg_inatomic(uval, uaddr, oldval, newval) \
-	futex_atomic_cmpxchg_inatomic_local_generic(uval, uaddr, oldval, newval)
+	futex_atomic_cmpxchg_inatomic_local(uval, uaddr, oldval, newval)
 #define arch_futex_atomic_op_inuser(op, oparg, oval, uaddr) \
-	arch_futex_atomic_op_inuser_local_generic(op, oparg, oval, uaddr)
+	futex_atomic_op_inuser_local(op, oparg, oval, uaddr)
 #endif /* CONFIG_SMP */
 #endif

Doesn't solve the regression on MIPS defconfig:

# nice -n 5 make -j76 CROSS_COMPILE=/home/mingo/gcc/cross/bin/mips64-linux- ARCH=mips kernel/futex/syscalls.o
  CALL    scripts/atomic/check-atomics.sh
  CALL    scripts/checksyscalls.sh
  CC      kernel/futex/syscalls.o
In file included from kernel/futex/futex.h:12,
                 from kernel/futex/syscalls.c:7:
./arch/mips/include/asm/futex.h: In function 'arch_futex_atomic_op_inuser':
./arch/mips/include/asm/futex.h:89:23: error: implicit declaration of function 'arch_futex_atomic_op_inuser_local'; did you mean 'futex_atomic_op_inuser_local'? [-Werror=implicit-function-declaration]
   89 |                 ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\

Thanks,

Ingo

#3 lore raw
Quoted 7 lines · Ingo Molnar
Quoted 1 line · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

Doesn't solve the regression on MIPS defconfig:
./arch/mips/include/asm/futex.h: In function 'arch_futex_atomic_op_inuser':
./arch/mips/include/asm/futex.h:89:23: error: implicit declaration of function 'arch_futex_atomic_op_inuser_local'; did you mean 'futex_atomic_op_inuser_local'? [-Werror=implicit-function-declaration]
89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\

Right, mips and xtensa still have the same problem that I fixed for the others, I posted
another fix after the 0day bot reported it. I think

https://lore.kernel.org/lkml/[email protected]/

should address the remaining regression.

Arnd