Thread (120 messages) flat view 120 messages, 12 authors, 2020-05-13

Re: bpf: ability to attach freplace to multiple parents

From: Toke Høiland-Jørgensen <hidden>
Date: 2020-05-13 10:25:17
Also in: bpf

Alexei Starovoitov [off-list ref] writes:
On Tue, May 12, 2020 at 10:34:58AM +0200, Toke Høiland-Jørgensen wrote:
quoted
Alexei Starovoitov [off-list ref] writes:
quoted
quoted
quoted
Currently fentry/fexit/freplace progs have single prog->aux->linked_prog pointer.
It just needs to become a linked list.
The api extension could be like this:
bpf_raw_tp_open(prog_fd, attach_prog_fd, attach_btf_id);
(currently it's just bpf_raw_tp_open(prog_fd))
The same pair of (attach_prog_fd, attach_btf_id) is already passed into prog_load
to hold the linked_prog and its corresponding btf_id.
I'm proposing to extend raw_tp_open with this pair as well to
attach existing fentry/fexit/freplace prog to another target.
Internally the kernel verify that btf of current linked_prog
exactly matches to btf of another requested linked_prog and
if they match it will attach the same prog to two target programs (in case of freplace)
or two kernel functions (in case of fentry/fexit).
API-wise this was exactly what I had in mind as well.
perfect!
Hi Alexei

I don't suppose you've had a chance to whip up a patch for this, have
you? :)
On my priority list it's after cap_bpf and sleepable.
If it's urgent for you please start hacking.
OK, ACK. Not extremely urgent right now, just wanted to check in with
what your plans were. Thanks for letting me know!

-Toke
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help