From: Greg Kroah-Hartman Date: Tue, 25 Jan 2022 11:11:47 +0000 (+0100) Subject: drop queue-5.4/parisc-fix-lpa-and-lpa_user-defines.patch X-Git-Tag: v4.4.300~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e2b00bb471293dca4861e97aa69485ce25dd3ec;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-5.4/parisc-fix-lpa-and-lpa_user-defines.patch --- diff --git a/queue-5.4/parisc-fix-lpa-and-lpa_user-defines.patch b/queue-5.4/parisc-fix-lpa-and-lpa_user-defines.patch deleted file mode 100644 index 96fcdeb3b07..00000000000 --- a/queue-5.4/parisc-fix-lpa-and-lpa_user-defines.patch +++ /dev/null @@ -1,84 +0,0 @@ -From db19c6f1a2a353cc8dec35b4789733a3cf6e2838 Mon Sep 17 00:00:00 2001 -From: John David Anglin -Date: Wed, 22 Dec 2021 16:01:31 +0000 -Subject: parisc: Fix lpa and lpa_user defines - -From: John David Anglin - -commit db19c6f1a2a353cc8dec35b4789733a3cf6e2838 upstream. - -While working on the rewrite to the light-weight syscall and futex code, I -experimented with using a hash index based on the user physical address of -atomic variable. This exposed two problems with the lpa and lpa_user defines. - -Because of the copy instruction, the pa argument needs to be an early clobber -argument. This prevents gcc from allocating the va and pa arguments to the same -register. - -Secondly, the lpa instruction can cause a page fault so we need to catch -exceptions. - -Signed-off-by: John David Anglin -Fixes: 116d753308cf ("parisc: Use lpa instruction to load physical addresses in driver code") -Signed-off-by: Helge Deller -Cc: stable@vger.kernel.org # v5.2+ -Signed-off-by: Greg Kroah-Hartman ---- - arch/parisc/include/asm/special_insns.h | 44 +++++++++++++++++--------------- - 1 file changed, 24 insertions(+), 20 deletions(-) - ---- a/arch/parisc/include/asm/special_insns.h -+++ b/arch/parisc/include/asm/special_insns.h -@@ -2,28 +2,32 @@ - #ifndef __PARISC_SPECIAL_INSNS_H - #define __PARISC_SPECIAL_INSNS_H - --#define lpa(va) ({ \ -- unsigned long pa; \ -- __asm__ __volatile__( \ -- "copy %%r0,%0\n\t" \ -- "lpa %%r0(%1),%0" \ -- : "=r" (pa) \ -- : "r" (va) \ -- : "memory" \ -- ); \ -- pa; \ -+#define lpa(va) ({ \ -+ unsigned long pa; \ -+ __asm__ __volatile__( \ -+ "copy %%r0,%0\n" \ -+ "8:\tlpa %%r0(%1),%0\n" \ -+ "9:\n" \ -+ ASM_EXCEPTIONTABLE_ENTRY(8b, 9b) \ -+ : "=&r" (pa) \ -+ : "r" (va) \ -+ : "memory" \ -+ ); \ -+ pa; \ - }) - --#define lpa_user(va) ({ \ -- unsigned long pa; \ -- __asm__ __volatile__( \ -- "copy %%r0,%0\n\t" \ -- "lpa %%r0(%%sr3,%1),%0" \ -- : "=r" (pa) \ -- : "r" (va) \ -- : "memory" \ -- ); \ -- pa; \ -+#define lpa_user(va) ({ \ -+ unsigned long pa; \ -+ __asm__ __volatile__( \ -+ "copy %%r0,%0\n" \ -+ "8:\tlpa %%r0(%%sr3,%1),%0\n" \ -+ "9:\n" \ -+ ASM_EXCEPTIONTABLE_ENTRY(8b, 9b) \ -+ : "=&r" (pa) \ -+ : "r" (va) \ -+ : "memory" \ -+ ); \ -+ pa; \ - }) - - #define mfctl(reg) ({ \ diff --git a/queue-5.4/series b/queue-5.4/series index d3de5bac66b..c2a3a20fd6c 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -254,7 +254,6 @@ s390-mm-fix-2kb-pgtable-release-race.patch drm-etnaviv-limit-submit-sizes.patch drm-nouveau-kms-nv04-use-vzalloc-for-nv04_display.patch drm-bridge-analogix_dp-make-psr-exit-block-less.patch -parisc-fix-lpa-and-lpa_user-defines.patch pci-pciehp-fix-infinite-loop-in-irq-handler-upon-power-fault.patch pci-pci-bridge-emul-properly-mark-reserved-pcie-bits-in-pci-config-space.patch pci-pci-bridge-emul-correctly-set-pcie-capabilities.patch