[PATCH 2/3] bpf/trampoline: Allow ftrace location to differ from trampoline attach address

From: Naveen N. Rao
Date: Thu Feb 17 2022 - 06:37:40 EST


On some architectures, ftrace location can include multiple
instructions, and does not necessarily match the function entry address
returned by kallsyms_lookup(). Drop the check in is_ftrace_location() to
accommodate the same.

Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
---
kernel/bpf/trampoline.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/kernel/bpf/trampoline.c b/kernel/bpf/trampoline.c
index 4b6974a195c138..c47c80874bee3f 100644
--- a/kernel/bpf/trampoline.c
+++ b/kernel/bpf/trampoline.c
@@ -124,8 +124,6 @@ static int is_ftrace_location(void *ip)
addr = ftrace_location((long)ip);
if (!addr)
return 0;
- if (WARN_ON_ONCE(addr != (long)ip))
- return -EFAULT;
return 1;
}

--
2.35.1