linux/arch/riscv
Fabian Vogt 25509db76b riscv: kprobes: Fix probe address validation
[ Upstream commit 9e68bd803f ]

When adding a kprobe such as "p:probe/tcp_sendmsg _text+15392192",
arch_check_kprobe would start iterating all instructions starting from
_text until the probed address. Not only is this very inefficient, but
literal values in there (e.g. left by function patching) are
misinterpreted in a way that causes a desync.

Fix this by doing it like x86: start the iteration at the closest
preceding symbol instead of the given starting point.

Fixes: 87f48c7ccc ("riscv: kprobe: Fixup kernel panic when probing an illegal position")
Signed-off-by: Fabian Vogt <fvogt@suse.de>
Signed-off-by: Marvin Friedrich <marvin.friedrich@suse.com>
Acked-by: Guo Ren <guoren@kernel.org>
Link: https://lore.kernel.org/r/6191817.lOV4Wx5bFT@fvogt-thinkpad
Signed-off-by: Paul Walmsley <pjw@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-10-23 16:24:32 +02:00
..
boot Allwinner fixes for 6.17 2025-09-23 22:30:57 +02:00
configs soc: defconfig updates for 6.16 2025-07-29 11:27:41 -07:00
crypto lib/crypto: riscv/sha512: Migrate optimized SHA-512 code to library 2025-06-30 09:26:19 -07:00
errata RISC-V: errata: Use medany for relocatable builds 2025-03-26 15:56:37 -07:00
include riscv: Use an atomic xchg in pudp_huge_get_and_clear() 2025-09-23 18:25:52 -06:00
kernel riscv: kprobes: Fix probe address validation 2025-10-23 16:24:32 +02:00
kvm RISC-V: KVM: Write hgatp register with valid mode bits 2025-10-15 12:03:59 +02:00
lib Crypto library updates for 6.17 2025-07-28 17:58:52 -07:00
mm Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
net riscv, bpf: Sign extend struct ops return values properly 2025-10-15 12:03:33 +02:00
purgatory Crypto library updates for 6.17 2025-07-28 17:58:52 -07:00
tools riscv: Stop considering R_RISCV_NONE as bad relocations 2025-07-16 08:13:55 -07:00
Kbuild riscv: migrate to the generic rule for built-in DTB 2025-03-18 13:30:13 +00:00
Kconfig riscv: Only allow LTO with CMODEL_MEDANY 2025-09-04 16:25:46 -06:00
Kconfig.debug riscv: Add tests for riscv module loading 2023-11-07 14:59:32 -08:00
Kconfig.errata riscv: Add ghostwrite vulnerability 2025-01-18 12:33:39 -08:00
Kconfig.socs riscv: add Andes SoC family Kconfig support 2025-07-21 16:51:52 +02:00
Kconfig.vendor riscv: Add SiFive xsfvqmaccdod and xsfvqmaccqoq vendor extensions 2025-05-08 11:01:43 -07:00
Makefile riscv: Implement HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS 2025-06-05 11:09:30 -07:00
Makefile.postlink kbuild: Create intermediate vmlinux build with relocations preserved 2025-03-17 00:29:50 +09:00