I see, so this means the fentry program needs to load and verify the program for every functions to attach right?
In my (maybe very specific) case, the tool may attaches programs to more than 1000 functions. So it is important to reduce the programs to reduce the attach time. I will continue to use kprobe. Thank you very much for your help. Yutaro > On Mar 8, 2020, at 4:19, Alexei Starovoitov <[email protected]> > wrote: > > On Fri, Mar 6, 2020 at 11:19 PM Yutaro Hayakawa <[email protected]> > wrote: >> >> Hello, >> >> Is there any way to get the address of the function in fentry type programs >> like >> kprobe type programs does by PT_REGS_IP(pt_regs)? >> >> I'd like to migrate my kprobe based tool[1] to fentry based one, but only >> this >> feature is missing right now. Since the tool attaches single BPF program to >> the multiple kernel functions, it needs to have function's address to >> identify >> which function the trace data comes from. >> >> [1] https://github.com/YutaroHayakawa/ipftrace > > I think this approach won't quite work with fentry because > the same fenty type prog cannot be attached to multiple kernel functions. > At load time the kernel verifier needs to hold target kernel function, > check that arguments match, etc. So at that point the target function > address is fixed and when fentry prog is called it will see only one > 'faddr' == regs_ip. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1819): https://lists.iovisor.org/g/iovisor-dev/message/1819 Mute This Topic: https://lists.iovisor.org/mt/71791522/21656 Group Owner: [email protected] Unsubscribe: https://lists.iovisor.org/g/iovisor-dev/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
