From: Greg Kroah-Hartman Date: Fri, 9 May 2025 06:19:48 +0000 (+0200) Subject: drop riscv-uprobes-add-missing-fence.i-after-building-the.patch from older queues X-Git-Tag: v5.15.182~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=db0e48672627eab61e6f2f088ad7eb6279152f7e;p=thirdparty%2Fkernel%2Fstable-queue.git drop riscv-uprobes-add-missing-fence.i-after-building-the.patch from older queues It causes a build warning and doesn't seem to do much for some reason, so let's just drop it for now Signed-off-by: Greg Kroah-Hartman --- diff --git a/queue-5.15/riscv-uprobes-add-missing-fence.i-after-building-the.patch b/queue-5.15/riscv-uprobes-add-missing-fence.i-after-building-the.patch deleted file mode 100644 index f1e4edaf8c..0000000000 --- a/queue-5.15/riscv-uprobes-add-missing-fence.i-after-building-the.patch +++ /dev/null @@ -1,61 +0,0 @@ -From de23949570352bbe4c66024ff9ce06e6f9199761 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 19 Apr 2025 13:14:00 +0200 -Subject: riscv: uprobes: Add missing fence.i after building the XOL buffer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Björn Töpel - -[ Upstream commit 7d1d19a11cfbfd8bae1d89cc010b2cc397cd0c48 ] - -The XOL (execute out-of-line) buffer is used to single-step the -replaced instruction(s) for uprobes. The RISC-V port was missing a -proper fence.i (i$ flushing) after constructing the XOL buffer, which -can result in incorrect execution of stale/broken instructions. - -This was found running the BPF selftests "test_progs: -uprobe_autoattach, attach_probe" on the Spacemit K1/X60, where the -uprobes tests randomly blew up. - -Reviewed-by: Guo Ren -Fixes: 74784081aac8 ("riscv: Add uprobes supported") -Signed-off-by: Björn Töpel -Link: https://lore.kernel.org/r/20250419111402.1660267-2-bjorn@kernel.org -Signed-off-by: Palmer Dabbelt -Signed-off-by: Sasha Levin ---- - arch/riscv/kernel/probes/uprobes.c | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/arch/riscv/kernel/probes/uprobes.c b/arch/riscv/kernel/probes/uprobes.c -index 194f166b2cc40..0d18ee53fd649 100644 ---- a/arch/riscv/kernel/probes/uprobes.c -+++ b/arch/riscv/kernel/probes/uprobes.c -@@ -161,6 +161,7 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, - /* Initialize the slot */ - void *kaddr = kmap_atomic(page); - void *dst = kaddr + (vaddr & ~PAGE_MASK); -+ unsigned long start = (unsigned long)dst; - - memcpy(dst, src, len); - -@@ -170,13 +171,6 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, - *(uprobe_opcode_t *)dst = __BUG_INSN_32; - } - -+ flush_icache_range(start, start + len); - kunmap_atomic(kaddr); -- -- /* -- * We probably need flush_icache_user_page() but it needs vma. -- * This should work on most of architectures by default. If -- * architecture needs to do something different it can define -- * its own version of the function. -- */ -- flush_dcache_page(page); - } --- -2.39.5 - diff --git a/queue-5.15/series b/queue-5.15/series index 32553300dd..71816dff03 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -49,7 +49,6 @@ revert-drm-meson-vclk-fix-calculation-of-59.94-fract.patch irqchip-gic-v2m-add-const-to-of_device_id.patch irqchip-gic-v2m-mark-a-few-functions-__init.patch irqchip-gic-v2m-prevent-use-after-free-of-gicv2m_get.patch -riscv-uprobes-add-missing-fence.i-after-building-the.patch iommu-arm-smmu-v3-use-the-new-rb-tree-helpers.patch iommu-arm-smmu-v3-fix-iommu_device_probe-bug-due-to-.patch dm-fix-copying-after-src-array-boundaries.patch diff --git a/queue-6.1/riscv-uprobes-add-missing-fence.i-after-building-the.patch b/queue-6.1/riscv-uprobes-add-missing-fence.i-after-building-the.patch deleted file mode 100644 index 72882fec83..0000000000 --- a/queue-6.1/riscv-uprobes-add-missing-fence.i-after-building-the.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 07d22744abb51b806341b22c08041e12965cfd8f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 19 Apr 2025 13:14:00 +0200 -Subject: riscv: uprobes: Add missing fence.i after building the XOL buffer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Björn Töpel - -[ Upstream commit 7d1d19a11cfbfd8bae1d89cc010b2cc397cd0c48 ] - -The XOL (execute out-of-line) buffer is used to single-step the -replaced instruction(s) for uprobes. The RISC-V port was missing a -proper fence.i (i$ flushing) after constructing the XOL buffer, which -can result in incorrect execution of stale/broken instructions. - -This was found running the BPF selftests "test_progs: -uprobe_autoattach, attach_probe" on the Spacemit K1/X60, where the -uprobes tests randomly blew up. - -Reviewed-by: Guo Ren -Fixes: 74784081aac8 ("riscv: Add uprobes supported") -Signed-off-by: Björn Töpel -Link: https://lore.kernel.org/r/20250419111402.1660267-2-bjorn@kernel.org -Signed-off-by: Palmer Dabbelt -Signed-off-by: Sasha Levin ---- - arch/riscv/kernel/probes/uprobes.c | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/arch/riscv/kernel/probes/uprobes.c b/arch/riscv/kernel/probes/uprobes.c -index 194f166b2cc40..0d18ee53fd649 100644 ---- a/arch/riscv/kernel/probes/uprobes.c -+++ b/arch/riscv/kernel/probes/uprobes.c -@@ -161,6 +161,7 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, - /* Initialize the slot */ - void *kaddr = kmap_atomic(page); - void *dst = kaddr + (vaddr & ~PAGE_MASK); -+ unsigned long start = (unsigned long)dst; - - memcpy(dst, src, len); - -@@ -170,13 +171,6 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, - *(uprobe_opcode_t *)dst = __BUG_INSN_32; - } - -+ flush_icache_range(start, start + len); - kunmap_atomic(kaddr); -- -- /* -- * We probably need flush_icache_user_page() but it needs vma. -- * This should work on most of architectures by default. If -- * architecture needs to do something different it can define -- * its own version of the function. -- */ -- flush_dcache_page(page); - } --- -2.39.5 - diff --git a/queue-6.1/series b/queue-6.1/series index eff324b602..211ada99a9 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -84,7 +84,6 @@ net-phy-microchip-force-irq-polling-mode-for-lan88xx.patch revert-drm-meson-vclk-fix-calculation-of-59.94-fract.patch irqchip-gic-v2m-mark-a-few-functions-__init.patch irqchip-gic-v2m-prevent-use-after-free-of-gicv2m_get.patch -riscv-uprobes-add-missing-fence.i-after-building-the.patch dm-fix-copying-after-src-array-boundaries.patch iommu-arm-smmu-v3-use-the-new-rb-tree-helpers.patch iommu-arm-smmu-v3-fix-iommu_device_probe-bug-due-to-.patch diff --git a/queue-6.6/riscv-uprobes-add-missing-fence.i-after-building-the.patch b/queue-6.6/riscv-uprobes-add-missing-fence.i-after-building-the.patch deleted file mode 100644 index e66f0bf6aa..0000000000 --- a/queue-6.6/riscv-uprobes-add-missing-fence.i-after-building-the.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0e8d55306ed936412969e644752ba4679da22d18 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 19 Apr 2025 13:14:00 +0200 -Subject: riscv: uprobes: Add missing fence.i after building the XOL buffer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Björn Töpel - -[ Upstream commit 7d1d19a11cfbfd8bae1d89cc010b2cc397cd0c48 ] - -The XOL (execute out-of-line) buffer is used to single-step the -replaced instruction(s) for uprobes. The RISC-V port was missing a -proper fence.i (i$ flushing) after constructing the XOL buffer, which -can result in incorrect execution of stale/broken instructions. - -This was found running the BPF selftests "test_progs: -uprobe_autoattach, attach_probe" on the Spacemit K1/X60, where the -uprobes tests randomly blew up. - -Reviewed-by: Guo Ren -Fixes: 74784081aac8 ("riscv: Add uprobes supported") -Signed-off-by: Björn Töpel -Link: https://lore.kernel.org/r/20250419111402.1660267-2-bjorn@kernel.org -Signed-off-by: Palmer Dabbelt -Signed-off-by: Sasha Levin ---- - arch/riscv/kernel/probes/uprobes.c | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/arch/riscv/kernel/probes/uprobes.c b/arch/riscv/kernel/probes/uprobes.c -index 4b3dc8beaf77d..cc15f7ca6cc17 100644 ---- a/arch/riscv/kernel/probes/uprobes.c -+++ b/arch/riscv/kernel/probes/uprobes.c -@@ -167,6 +167,7 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, - /* Initialize the slot */ - void *kaddr = kmap_atomic(page); - void *dst = kaddr + (vaddr & ~PAGE_MASK); -+ unsigned long start = (unsigned long)dst; - - memcpy(dst, src, len); - -@@ -176,13 +177,6 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, - *(uprobe_opcode_t *)dst = __BUG_INSN_32; - } - -+ flush_icache_range(start, start + len); - kunmap_atomic(kaddr); -- -- /* -- * We probably need flush_icache_user_page() but it needs vma. -- * This should work on most of architectures by default. If -- * architecture needs to do something different it can define -- * its own version of the function. -- */ -- flush_dcache_page(page); - } --- -2.39.5 - diff --git a/queue-6.6/series b/queue-6.6/series index 443ee8b22f..45498b040d 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -116,7 +116,6 @@ xhci-add-helper-to-set-an-interrupters-interrupt-mod.patch usb-xhci-check-if-requested-segments-exceeds-erst-ca.patch xhci-support-setting-interrupt-moderation-imod-for-s.patch xhci-limit-time-spent-with-xhc-interrupts-disabled-d.patch -riscv-uprobes-add-missing-fence.i-after-building-the.patch kernel-param-rename-locate_module_kobject.patch kernel-globalize-lookup_or_create_module_kobject.patch drivers-base-handle-module_kobject-creation.patch