On Thu, Mar 10, 2022 at 10:35:32AM +0100, Peter Zijlstra wrote: > > $ test_progs -t fentry > > test_fentry_fexit:PASS:fentry_skel_load 0 nsec > > test_fentry_fexit:PASS:fexit_skel_load 0 nsec > > test_fentry_fexit:PASS:fentry_attach 0 nsec > > test_fentry_fexit:FAIL:fexit_attach unexpected error: -1 (errno 19) > > #54 fentry_fexit:FAIL This seems to cure the above. fexit_bpf2bpf is still failing, I'll dig into that after lunch. diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index acb50fb7ed2d..2d86d3c09d64 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -5354,6 +5381,11 @@ int modify_ftrace_direct(unsigned long ip, mutex_lock(&direct_mutex); mutex_lock(&ftrace_lock); + + ip = ftrace_location(ip); + if (!ip) + goto out_unlock; + entry = find_direct_entry(&ip, &rec); if (!entry) goto out_unlock;