> On Fri, Dec 22, 2023 at 04:11:46PM +0100, Dmitrii Dolgov wrote: > > Currently, it's not allowed to attach an fentry/fexit prog to another > fentry/fexit. At the same time it's not uncommon to see a tracing > program with lots of logic in use, and the attachment limitation > prevents usage of fentry/fexit for performance analysis (e.g. with > "bpftool prog profile" command) in this case. An example could be > falcosecurity libs project that uses tp_btf tracing programs for > offloading certain part of logic into tail-called programs, but the > use-case is still generic enough -- a tracing program could be > complicated and heavy enough to warrant its profiling, yet frustratingly > it's not possible to do so use best tooling for that. > > Following the corresponding discussion [1], the reason for that is to > avoid tracing progs call cycles without introducing more complex > solutions. But currently it seems impossible to load and attach tracing > programs in a way that will form such a cycle. Replace "no same type" > requirement with verification that no more than one level of attachment > nesting is allowed. In this way only one fentry/fexit program could be > attached to another fentry/fexit to cover profiling use case, and still > no cycle could be formed. > > The series contains a test for recursive attachment, as well as a fix + > test for an issue in re-attachment branch of bpf_tracing_prog_attach. > When preparing the test for the main change set, I've stumbled upon the > possibility to construct a sequence of events when attach_btf would be > NULL while computing a trampoline key. It doesn't look like this issue > is triggered by the main change, because the reproduces doesn't actually > need to have an fentry attachment chain. > > [1]: https://lore.kernel.org/bpf/20191108064039.2041889-16-ast@xxxxxxxxxx/ > > Dmitrii Dolgov (3): > bpf: Relax tracing prog recursive attach rules > selftests/bpf: Add test for recursive attachment of tracing progs > selftests/bpf: Test re-attachment fix for bpf_tracing_prog_attach > > Jiri Olsa (1): > bpf: Fix re-attachment branch in bpf_tracing_prog_attach I guess this got lost during the holiday season. Is there anything else I can do to make some progress on this topic?