Re: [PATCH bpf-next v6 00/10] bpf: fsession support
From: Menglong Dong <hidden>
Date: 2026-01-06 03:05:06
Also in:
bpf, lkml
On 2026/1/6 05:20 Andrii Nakryiko [off-list ref] write:
On Sun, Jan 4, 2026 at 4:28 AM Menglong Dong [off-list ref] wrote:quoted
Hi, all.
[......]
quoted
Maybe it's possible to reuse the existing bpf_session_cookie() and bpf_session_is_return(). First, we move the nr_regs from stack to struct bpf_tramp_run_ctx, as Andrii suggested before. Then, we define the session cookies as flexible array in bpf_tramp_run_ctx like this: struct bpf_tramp_run_ctx { struct bpf_run_ctx run_ctx; u64 bpf_cookie; struct bpf_run_ctx *saved_run_ctx; u64 func_meta; /* nr_args, cookie_index, etc */ u64 fsession_cookies[]; }; The problem of this approach is that we can't inlined the bpf helper anymore, such as get_func_arg, get_func_ret, get_func_arg_cnt, etc, as we can't use the "current" in BPF assembly.We can, as Alexei suggested on your other patch set. Is this still a valid concern?
Yeah, with the support of BPF_MOV64_PERCPU_REG, it's much easier now. So what approach should I use now? Change the prototype of bpf_session_is_return/bpf_session_cookie, as Alexei suggested, or use the approach here? I think both works, and I'm a little torn now. Any suggestions? Thanks! Menglong Dong
I think having separate duplicated ksession and fsession specific bpf_[f]session_{is_return,session_cookie}() APIs is really bad and confusing long-term.quoted
So maybe it's better to use the new kfunc for now? And I'm analyzing thatthere is no "for now", this decision will be with us for a really long time...quoted
if it is possible to inline "current" in verifier. Maybe we can convert to the solu
[......]
quoted