]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Nov 2022 17:21:47 +0000 (18:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Nov 2022 17:21:47 +0000 (18:21 +0100)
added patches:
once-fix-section-mismatch-on-clang-builds.patch

queue-4.19/once-fix-section-mismatch-on-clang-builds.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/once-fix-section-mismatch-on-clang-builds.patch b/queue-4.19/once-fix-section-mismatch-on-clang-builds.patch
new file mode 100644 (file)
index 0000000..291614c
--- /dev/null
@@ -0,0 +1,53 @@
+From 76d0ecd42da6e2cc54980363ba790591c277f71c Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Tue, 1 Nov 2022 18:12:39 +0100
+Subject: once: fix section mismatch on clang builds
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+On older kernels (5.4 and older), building the kernel with clang can
+cause the section name to end up with "" in them, which can cause lots
+of runtime issues as that is not normally a valid portion of the string.
+
+This was fixed up in newer kernels with commit 33def8498fdd ("treewide:
+Convert macro and uses of __section(foo) to __section("foo")") but
+that's too heavy-handed for older kernels.
+
+So for now, fix up the problem that commit 62c07983bef9 ("once: add
+DO_ONCE_SLOW() for sleepable contexts") caused by being backported by
+removing the "" characters from the section definition.
+
+Reported-by: Oleksandr Tymoshenko <ovt@google.com>
+Reported-by: Yongqin Liu <yongqin.liu@linaro.org>
+Tested-by: Yongqin Liu <yongqin.liu@linaro.org>
+Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
+Link: https://lore.kernel.org/r/20221029011211.4049810-1-ovt@google.com
+Link: https://lore.kernel.org/r/CAMSo37XApZ_F5nSQYWFsSqKdMv_gBpfdKG3KN1TDB+QNXqSh0A@mail.gmail.com
+Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
+Cc: Eric Dumazet <edumazet@google.com>
+Cc: Willy Tarreau <w@1wt.eu>
+Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
+Cc: David S. Miller <davem@davemloft.net>
+Cc: Sasha Levin <sashal@kernel.org>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/once.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/linux/once.h b/include/linux/once.h
+index bb58e1c3aa03..3a6671d961b9 100644
+--- a/include/linux/once.h
++++ b/include/linux/once.h
+@@ -64,7 +64,7 @@ void __do_once_slow_done(bool *done, struct static_key_true *once_key,
+ #define DO_ONCE_SLOW(func, ...)                                                    \
+       ({                                                                   \
+               bool ___ret = false;                                         \
+-              static bool __section(".data.once") ___done = false;         \
++              static bool __section(.data.once) ___done = false;           \
+               static DEFINE_STATIC_KEY_TRUE(___once_key);                  \
+               if (static_branch_unlikely(&___once_key)) {                  \
+                       ___ret = __do_once_slow_start(&___done);             \
+-- 
+2.38.1
+
index 84ef7bbccf092f7fcda571b5092d15bb96784eaa..92a44e41c190fd77481562530b24eabfa7e82caf 100644 (file)
@@ -75,3 +75,4 @@ alsa-aoa-fix-i2s-device-accounting.patch
 openvswitch-switch-from-warn-to-pr_warn.patch
 net-ehea-fix-possible-memory-leak-in-ehea_register_p.patch
 net-mlx5e-do-not-increment-esn-when-updating-ipsec-e.patch
+once-fix-section-mismatch-on-clang-builds.patch