lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Fri,  3 Dec 2021 09:07:56 +0100
From:   Arnd Bergmann <arnd@...nel.org>
To:     Thomas Gleixner <tglx@...utronix.de>
Cc:     Arnd Bergmann <arnd@...db.de>,
        Linux Kernel Functional Testing <lkft@...aro.org>,
        Naresh Kamboju <naresh.kamboju@...aro.org>,
        linux-mips@...r.kernel.org,
        Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
        linux-xtensa@...ux-xtensa.org, Chris Zankel <chris@...kel.net>,
        Max Filippov <jcmvbkbc@...il.com>,
        Ingo Molnar <mingo@...hat.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Darren Hart <dvhart@...radead.org>,
        Davidlohr Bueso <dave@...olabs.net>,
        André Almeida <andrealmeid@...labora.com>,
        linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: [PATCH] futex: Fix additional regressions

From: Arnd Bergmann <arnd@...db.de>

Naresh reported another architecture that was broken by the same typo
that I already fixed for three architectures: mips also refers to the
futex_atomic_op_inuser_local() function by the wrong name and runs into
a missing closing '}' as well.

Going through the source tree I found that I also had the same typo in the
documentation as well as the xtensa code, both of which ended up escaping
the regression testing so far. In the case of xtensa, it appears that
the broken code path is only used when building for platforms that are
not supported by the default gcc configuration, so they are impossible
to test for with my setup.

After going through these more carefully and fixing up the typos, I
build-tested all architectures again to ensure I'm not introducing a
new regression or missing one more obvious issue with my series.

Fixes: 4e0d84634445 ("futex: Fix sparc32/m68k/nds32 build regression")
Fixes: 3f2bedabb62c ("futex: Ensure futex_atomic_cmpxchg_inatomic() is present")
Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>
Reported-by: Naresh Kamboju <naresh.kamboju@...aro.org>
Cc: linux-mips@...r.kernel.org
Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Cc: linux-xtensa@...ux-xtensa.org
Cc: Chris Zankel <chris@...kel.net>
Cc: Max Filippov <jcmvbkbc@...il.com>
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
 arch/mips/include/asm/futex.h   | 6 +++---
 arch/xtensa/include/asm/futex.h | 2 +-
 include/asm-generic/futex.h     | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/mips/include/asm/futex.h b/arch/mips/include/asm/futex.h
index 9287110cb06d..8612a7e42d78 100644
--- a/arch/mips/include/asm/futex.h
+++ b/arch/mips/include/asm/futex.h
@@ -86,9 +86,9 @@
 		: "memory");						\
 	} else {							\
 		/* fallback for non-SMP */				\
-		ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\
-							uaddr);	\
-	}
+		ret = futex_atomic_op_inuser_local(op, oparg, oval, uaddr);	\
+	}								\
+}
 
 static inline int
 arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr)
diff --git a/arch/xtensa/include/asm/futex.h b/arch/xtensa/include/asm/futex.h
index fe8f31575ab1..a6f7d7ab5950 100644
--- a/arch/xtensa/include/asm/futex.h
+++ b/arch/xtensa/include/asm/futex.h
@@ -109,7 +109,7 @@ static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,
 
 	return ret;
 #else
-	return arch_futex_atomic_op_inuser_local(op, oparg, oval, uaddr);
+	return futex_atomic_op_inuser_local(op, oparg, oval, uaddr);
 #endif
 }
 
diff --git a/include/asm-generic/futex.h b/include/asm-generic/futex.h
index 66d6843bfd02..2a19215baae5 100644
--- a/include/asm-generic/futex.h
+++ b/include/asm-generic/futex.h
@@ -21,7 +21,7 @@
 #endif
 
 /**
- * arch_futex_atomic_op_inuser_local() - Atomic arithmetic operation with constant
+ * futex_atomic_op_inuser_local() - Atomic arithmetic operation with constant
  *			  argument and comparison of the previous
  *			  futex value with another constant.
  *
-- 
2.29.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ