riscv: kprobes: Fix probe address validation
[ Upstream commit 9e68bd80 ] 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: 87f48c7c ("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>
Loading
Please sign in to comment