> diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
> --- a/include/uapi/linux/bpf.h
> +++ b/include/uapi/linux/bpf.h
> @@ -1154,6 +1154,8 @@ enum bpf_attach_type {
>       BPF_TRACE_KPROBE_SESSION,
>       BPF_TRACE_UPROBE_SESSION,
>       BPF_TRACE_FSESSION,
> +     BPF_TRACE_FENTRY_MULTI,
> +     BPF_TRACE_FEXIT_MULTI,
>       __MAX_BPF_ATTACH_TYPE
>  };

In RFC v2 (Feb 4, 2026), Leon Hwang asked whether BPF_TRACE_FSESSION_MULTI
should be added alongside BPF_TRACE_FENTRY_MULTI and BPF_TRACE_FEXIT_MULTI
for API consistency, since BPF_TRACE_FSESSION exists and is handled
similarly to FENTRY/FEXIT. You acknowledged this with 'good catch, will add
it' but BPF_TRACE_FSESSION_MULTI was never added in any subsequent version
(v1, v2, v3, v4, or v5).

Is this attach type intentionally omitted, or should it be included to
complete the multi tracing API?

Reference: 
https://lore.kernel.org/bpf/[email protected]/

[ ... ]

> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c

[ ... ]

> @@ -19368,7 +19379,17 @@
>               if (ret < 0)
>                       return ret;
>
> -             if (tgt_prog) {
> +             /* *.multi programs don't need an address during program
> +              * verification, we just take the module ref if needed.
> +              */
> +             if (is_tracing_multi_id(prog, btf_id)) {
> +                     if (btf_is_module(btf)) {
> +                             mod = btf_try_get_module(btf);
> +                             if (!mod)
> +                                     return -ENOENT;
> +                     }
> +                     addr = 0;
> +             } else if (tgt_prog) {

This isn't a bug, but the new multi-line comment here uses the old kernel
comment style with text on the same line as the opening '/*'. The BPF
subsystem guide mandates the modern multi-line style with '/*' on its own
line for new code under kernel/bpf/, even if surrounding code still uses
the old style.

Should the comment be reformatted as:

        /*
         * *.multi programs don't need an address during program
         * verification, we just take the module ref if needed.
         */

> @@ -19396,6 +19417,12 @@
>                       ret = -EINVAL;
>                       switch (prog->type) {
>                       case BPF_PROG_TYPE_TRACING:
> +                             /* *.multi sleepable programs will pass initial 
> sleepable check,
> +                              * the actual attached btf ids are checked 
> later during the link
> +                              * attachment.
> +                              */
> +                             if (is_tracing_multi_id(prog, btf_id))
> +                                     ret = 0;

The same comment style issue appears here. Should this also use the modern
style with '/*' on its own line?

Note that another comment you added in check_attach_btf_id uses the correct
modern style, making this inconsistency clearly fixable.


---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

CI run summary: https://github.com/kernel-patches/bpf/actions/runs/24598000047

Reply via email to