Since 'tr->ip' is already a 'ftrace_location()'-ed IP in bpf_trampoline_lookup(), it is unnecessary to call ftrace_location() again in update_fentry_multi().
Signed-off-by: Leon Hwang <[email protected]> --- kernel/bpf/trampoline.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/bpf/trampoline.c b/kernel/bpf/trampoline.c index 6e1898e1b200..eddd259d3776 100644 --- a/kernel/bpf/trampoline.c +++ b/kernel/bpf/trampoline.c @@ -1573,12 +1573,11 @@ static int update_fentry_multi(struct bpf_trampoline *tr, u32 orig_flags, struct bpf_tracing_multi_data *data) { unsigned long addr = (unsigned long)(im ? im->image : tr->cur_image->image); - unsigned long ip = ftrace_location(tr->ip); if (bpf_trampoline_use_jmp(tr->flags)) addr = ftrace_jmp_set(addr); - ftrace_hash_add(hash, data->entry, ip, addr); + ftrace_hash_add(hash, data->entry, tr->ip, addr); tr->cur_image = im; return 0; } -- 2.55.0
