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


Reply via email to