mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 14:30:06 -04:00
kprobes: treewide: Remove trampoline_address from kretprobe_trampoline_handler()
The __kretprobe_trampoline_handler() callback, called from low level arch kprobes methods, has the 'trampoline_address' parameter, which is entirely superfluous as it basically just replicates: dereference_kernel_function_descriptor(kretprobe_trampoline) In fact we had bugs in arch code where it wasn't replicated correctly. So remove this superfluous parameter and use kretprobe_trampoline_addr() instead. Link: https://lkml.kernel.org/r/163163044546.489837.13505751885476015002.stgit@devnote2 Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Tested-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
committed by
Steven Rostedt (VMware)
parent
f2ec8d9a3b
commit
96fed8ac2b
@@ -1864,7 +1864,6 @@ static struct notifier_block kprobe_exceptions_nb = {
|
||||
#ifdef CONFIG_KRETPROBES
|
||||
|
||||
unsigned long __kretprobe_trampoline_handler(struct pt_regs *regs,
|
||||
void *trampoline_address,
|
||||
void *frame_pointer)
|
||||
{
|
||||
kprobe_opcode_t *correct_ret_addr = NULL;
|
||||
@@ -1879,7 +1878,7 @@ unsigned long __kretprobe_trampoline_handler(struct pt_regs *regs,
|
||||
|
||||
BUG_ON(ri->fp != frame_pointer);
|
||||
|
||||
if (ri->ret_addr != trampoline_address) {
|
||||
if (ri->ret_addr != kretprobe_trampoline_addr()) {
|
||||
correct_ret_addr = ri->ret_addr;
|
||||
/*
|
||||
* This is the real return address. Any other
|
||||
|
||||
Reference in New Issue
Block a user