[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5075208.31r3eYUQgx@7950hx>
Date: Sat, 10 Jan 2026 11:37:36 +0800
From: Menglong Dong <menglong.dong@...ux.dev>
To: Menglong Dong <menglong8.dong@...il.com>,
Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: Alexei Starovoitov <ast@...nel.org>, Andrii Nakryiko <andrii@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Martin KaFai Lau <martin.lau@...ux.dev>, Eduard <eddyz87@...il.com>,
Song Liu <song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>,
John Fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>,
Jiri Olsa <jolsa@...nel.org>, "David S. Miller" <davem@...emloft.net>,
David Ahern <dsahern@...nel.org>, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, jiang.biao@...ux.dev,
Borislav Petkov <bp@...en8.de>, Dave Hansen <dave.hansen@...ux.intel.com>,
X86 ML <x86@...nel.org>, "H. Peter Anvin" <hpa@...or.com>,
bpf <bpf@...r.kernel.org>, Network Development <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject:
Re: [PATCH bpf-next v8 04/11] bpf: support fsession for bpf_session_is_return
On 2026/1/10 10:40, Alexei Starovoitov wrote:
> On Wed, Jan 7, 2026 at 6:25 PM Menglong Dong <menglong8.dong@...il.com> wrote:
> >
> > + } else if (func_id == special_kfunc_list[KF_bpf_session_is_return]) {
> > + if (prog->expected_attach_type == BPF_TRACE_FSESSION)
> > + addr = (unsigned long)bpf_fsession_is_return;
>
> ...
>
> > +bool bpf_fsession_is_return(void *ctx)
> > +{
> > + /* This helper call is inlined by verifier. */
> > + return !!(((u64 *)ctx)[-1] & (1 << BPF_TRAMP_M_IS_RETURN));
> > +}
> > +
>
> Why do this specialization and introduce a global function
> that will never be called, since it will be inlined anyway?
Ah, the specialization and the definition of the global function
is not unnecessary. I thought that it's kinda fallback solution
that we define the function even if it is inlined by the verifier.
>
> Remove the first hunk and make the 2nd a comment instead of a real function?
Agree. So it will be:
+static bool bpf_fsession_is_return(void *ctx)
+{
+ /* This helper call is implemented and inlined by the verifier, and the logic is:
+ * return !!(((u64 *)ctx)[-1] & (1 << BPF_TRAMP_M_IS_RETURN));
+ */
+ return false;
+}
>
>
Powered by blists - more mailing lists