+++ /dev/null
-From de23949570352bbe4c66024ff9ce06e6f9199761 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <bjorn@rivosinc.com>
-
-[ 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 <guoren@kernel.org>
-Fixes: 74784081aac8 ("riscv: Add uprobes supported")
-Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
-Link: https://lore.kernel.org/r/20250419111402.1660267-2-bjorn@kernel.org
-Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
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
+++ /dev/null
-From 07d22744abb51b806341b22c08041e12965cfd8f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <bjorn@rivosinc.com>
-
-[ 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 <guoren@kernel.org>
-Fixes: 74784081aac8 ("riscv: Add uprobes supported")
-Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
-Link: https://lore.kernel.org/r/20250419111402.1660267-2-bjorn@kernel.org
-Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
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
+++ /dev/null
-From 0e8d55306ed936412969e644752ba4679da22d18 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <bjorn@rivosinc.com>
-
-[ 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 <guoren@kernel.org>
-Fixes: 74784081aac8 ("riscv: Add uprobes supported")
-Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
-Link: https://lore.kernel.org/r/20250419111402.1660267-2-bjorn@kernel.org
-Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
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