On Wed, 13 Apr 2022 09:45:52 -0700 Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > Did you only use the "notrace" on the prototype? I see the semicolon at > > the end of your comment. It only affects the actual function itself, > > not the prototype. > > notrace is both on declaration and on definition, see kernel/bpf/trampoline.c: OK. Note, it only needs to be on the function, the prototype doesn't do anything. But that shouldn't be the issue. > > void notrace __bpf_tramp_exit(struct bpf_tramp_image *tr) > { > percpu_ref_put(&tr->pcref); > } > What compiler are you using? as this seems to be a compiler bug. Because it's not ftrace that picks what functions to trace, but the compiler itself. -- Steve