[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAADnVQK3toLsVLVYjGVXEuQGWUKF98OG9ogAQbJ4UeER42ZyGg@mail.gmail.com>
Date: Wed, 11 Dec 2024 16:53:24 -0800
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Juntong Deng <juntong.deng@...look.com>
Cc: Christian Brauner <brauner@...nel.org>, Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, John Fastabend <john.fastabend@...il.com>,
Andrii Nakryiko <andrii@...nel.org>, Martin KaFai Lau <martin.lau@...ux.dev>, Eddy Z <eddyz87@...il.com>,
Song Liu <song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>, KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>,
Kumar Kartikeya Dwivedi <memxor@...il.com>, snorcht@...il.com, bpf <bpf@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Linux-Fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH bpf-next v5 4/5] bpf: Make fs kfuncs available for SYSCALL
and TRACING program types
On Wed, Dec 11, 2024 at 1:29 PM Juntong Deng <juntong.deng@...look.com> wrote:
>
> On 2024/12/10 18:58, Alexei Starovoitov wrote:
> > On Tue, Dec 10, 2024 at 6:43 AM Christian Brauner <brauner@...nel.org> wrote:
> >>
> >> On Tue, Dec 10, 2024 at 02:03:53PM +0000, Juntong Deng wrote:
> >>> Currently fs kfuncs are only available for LSM program type, but fs
> >>> kfuncs are generic and useful for scenarios other than LSM.
> >>>
> >>> This patch makes fs kfuncs available for SYSCALL and TRACING
> >>> program types.
> >>
> >> I would like a detailed explanation from the maintainers what it means
> >> to make this available to SYSCALL program types, please.
> >
> > Sigh.
> > This is obviously not safe from tracing progs.
> >
> > From BPF_PROG_TYPE_SYSCALL these kfuncs should be safe to use,
> > since those progs are not attached to anything.
> > Such progs can only be executed via sys_bpf syscall prog_run command.
> > They're sleepable, preemptable, faultable, in task ctx.
> >
> > But I'm not sure what's the value of enabling these kfuncs for
> > BPF_PROG_TYPE_SYSCALL.
>
> Thanks for your reply.
>
> Song said here that we need some of these kfuncs to be available for
> tracing functions [0].
>
> If Song saw this email, could you please join the discussion?
>
> [0]:
> https://lore.kernel.org/bpf/CAPhsuW6ud21v2xz8iSXf=CiDL+R_zpQ+p8isSTMTw=EiJQtRSw@mail.gmail.com/
>
> For BPF_PROG_TYPE_SYSCALL, I think BPF_PROG_TYPE_SYSCALL has now
> exceeded its original designed purpose and has become a more general
> program type.
>
> Currently BPF_PROG_TYPE_SYSCALL is widely used in HID drivers, and there
> are some use cases in sched-ext (CRIB is also a use case, although still
> in infancy).
hid switched to use struct_ops prog type.
I believe syscall prog type in hid is a legacy code.
Those still present might be leftovers for older kernels.
sched-ext is struct_ops only. No syscall progs there.
> As BPF_PROG_TYPE_SYSCALL becomes more general, it would be valuable to
> make more kfuncs available for BPF_PROG_TYPE_SYSCALL.
Maybe. I still don't understand how it helps CRIB goal.
Powered by blists - more mailing lists