]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop powerpc patch from 5.10 queue
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Jun 2024 11:02:47 +0000 (13:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Jun 2024 11:02:47 +0000 (13:02 +0200)
queue-5.10/powerpc-uaccess-use-asm-goto-for-get_user-when-compi.patch [deleted file]
queue-5.10/series

diff --git a/queue-5.10/powerpc-uaccess-use-asm-goto-for-get_user-when-compi.patch b/queue-5.10/powerpc-uaccess-use-asm-goto-for-get_user-when-compi.patch
deleted file mode 100644 (file)
index 96c4720..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-From 4c528bdeb18f788ffe99be5c97c543fe980a5f00 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 10 Mar 2021 17:46:54 +0000
-Subject: powerpc/uaccess: Use asm goto for get_user when compiler supports it
-
-From: Christophe Leroy <christophe.leroy@csgroup.eu>
-
-[ Upstream commit 5cd29b1fd3e8f2b45fe6d011588d832417defe31 ]
-
-clang 11 and future GCC are supporting asm goto with outputs.
-
-Use it to implement get_user in order to get better generated code.
-
-Note that clang requires to set x in the default branch of
-__get_user_size_goto() otherwise is compliant about x not being
-initialised :puzzled:
-
-Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/403745b5aaa1b315bb4e8e46c1ba949e77eecec0.1615398265.git.christophe.leroy@csgroup.eu
-Stable-dep-of: 50934945d542 ("powerpc/uaccess: Use YZ asm constraint for ld")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/powerpc/include/asm/uaccess.h | 55 ++++++++++++++++++++++++++++++
- 1 file changed, 55 insertions(+)
-
-diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h
-index 6b808bcdecd52..d4d59f57c42d9 100644
---- a/arch/powerpc/include/asm/uaccess.h
-+++ b/arch/powerpc/include/asm/uaccess.h
-@@ -243,6 +243,59 @@ extern long __get_user_bad(void);
-               : "=r" (err)                    \
-               : "b" (uaddr), "b" (kaddr), "i" (-EFAULT), "0" (err))
-+#ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT
-+
-+#define __get_user_asm_goto(x, addr, label, op)                       \
-+      asm_volatile_goto(                                      \
-+              "1:     "op"%U1%X1 %0, %1       # get_user\n"   \
-+              EX_TABLE(1b, %l2)                               \
-+              : "=r" (x)                                      \
-+              : "m"UPD_CONSTR (*addr)                         \
-+              :                                               \
-+              : label)
-+
-+#ifdef __powerpc64__
-+#define __get_user_asm2_goto(x, addr, label)                  \
-+      __get_user_asm_goto(x, addr, label, "ld")
-+#else /* __powerpc64__ */
-+#define __get_user_asm2_goto(x, addr, label)                  \
-+      asm_volatile_goto(                                      \
-+              "1:     lwz%X1 %0, %1\n"                        \
-+              "2:     lwz%X1 %L0, %L1\n"                      \
-+              EX_TABLE(1b, %l2)                               \
-+              EX_TABLE(2b, %l2)                               \
-+              : "=r" (x)                                      \
-+              : "m" (*addr)                                   \
-+              :                                               \
-+              : label)
-+#endif /* __powerpc64__ */
-+
-+#define __get_user_size_goto(x, ptr, size, label)                             \
-+do {                                                                          \
-+      BUILD_BUG_ON(size > sizeof(x));                                         \
-+      switch (size) {                                                         \
-+      case 1: __get_user_asm_goto(x, (u8 __user *)ptr, label, "lbz"); break;  \
-+      case 2: __get_user_asm_goto(x, (u16 __user *)ptr, label, "lhz"); break; \
-+      case 4: __get_user_asm_goto(x, (u32 __user *)ptr, label, "lwz"); break; \
-+      case 8: __get_user_asm2_goto(x, (u64 __user *)ptr, label);  break;      \
-+      default: x = 0; BUILD_BUG();                                            \
-+      }                                                                       \
-+} while (0)
-+
-+#define __get_user_size_allowed(x, ptr, size, retval)                 \
-+do {                                                                  \
-+              __label__ __gus_failed;                                 \
-+                                                                      \
-+              __get_user_size_goto(x, ptr, size, __gus_failed);       \
-+              retval = 0;                                             \
-+              break;                                                  \
-+__gus_failed:                                                         \
-+              x = 0;                                                  \
-+              retval = -EFAULT;                                       \
-+} while (0)
-+
-+#else /* CONFIG_CC_HAS_ASM_GOTO_OUTPUT */
-+
- #define __get_user_asm(x, addr, err, op)              \
-       __asm__ __volatile__(                           \
-               "1:     "op"%U2%X2 %1, %2       # get_user\n"   \
-@@ -299,6 +352,8 @@ do {                                                               \
-       prevent_read_from_user(ptr, size);                      \
- } while (0)
-+#endif /* CONFIG_CC_HAS_ASM_GOTO_OUTPUT */
-+
- /*
-  * This is a type: either unsigned long, if the argument fits into
-  * that type, or otherwise unsigned long long.
--- 
-2.43.0
-
index 67358c1fd9f6e591cde23272365f2a59ef47b8d5..11347c39038fdb0f6fe43b54f3fb99a71be25356 100644 (file)
@@ -252,7 +252,6 @@ netfilter-tproxy-bail-out-if-ip-has-been-disabled-on.patch
 kconfig-fix-comparison-to-constant-symbols-m-n.patch
 spi-stm32-don-t-warn-about-spurious-interrupts.patch
 ipvlan-dont-use-skb-sk-in-ipvlan_process_v-4-6-_outb.patch
-powerpc-uaccess-use-asm-goto-for-get_user-when-compi.patch
 hwmon-shtc1-fix-property-misspelling.patch
 alsa-timer-set-lower-bound-of-start-tick-time.patch
 genirq-cpuhotplug-x86-vector-prevent-vector-leak-during-cpu-offline.patch