+++ /dev/null
-From c36385343b412dfb450f879a77ff414da4ebfafc 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
-
net_sched-hfsc-fix-a-potential-uaf-in-hfsc_dequeue-t.patch
net-dsa-mt7530-sync-driver-specific-behavior-of-mt75.patch
iommu-amd-return-an-error-if-vcpu-affinity-is-set-fo.patch
-riscv-uprobes-add-missing-fence.i-after-building-the.patch
virtio_console-fix-missing-byte-order-handling-for-cols-and-rows.patch
net-selftests-initialize-tcp-header-and-skb-payload-with-zero.patch
drm-amd-display-fix-gpu-reset-in-multidisplay-config.patch
+++ /dev/null
-From ccd18ae73bffa825652610b0f927a8087ba88d7d 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
-
net_sched-hfsc-fix-a-potential-uaf-in-hfsc_dequeue-t.patch
net-dsa-mt7530-sync-driver-specific-behavior-of-mt75.patch
iommu-amd-return-an-error-if-vcpu-affinity-is-set-fo.patch
-riscv-uprobes-add-missing-fence.i-after-building-the.patch
perf-x86-fix-non-sampling-counting-events-on-certain.patch
loongarch-select-arch_use_memtest.patch
loongarch-make-regs_irqs_disabled-more-clear.patch
+++ /dev/null
-From a46de9ef93f43ebd6576e743e546ac36dee3e3cb 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
-
pds_core-remove-unnecessary-check-in-pds_client_admi.patch
pds_core-make-wait_context-part-of-q_info.patch
iommu-amd-return-an-error-if-vcpu-affinity-is-set-fo.patch
-riscv-uprobes-add-missing-fence.i-after-building-the.patch
splice-remove-duplicate-noinline-from-pipe_clear_now.patch
perf-x86-fix-non-sampling-counting-events-on-certain.patch
loongarch-select-arch_use_memtest.patch