Re: [PATCH bpf-next v1 6/8] HID: bpf: Make syscall kfunc flags match the struct_ops set
Eduard Zingerman <[email protected]> Tue, 28 Jul 2026 17:58:27 -0700
| Newsgroups | org.kernel.vger.linux-input,org.kernel.vger.bpf |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 2026-07-22 at 16:35 -0700, Ihor Solodrai wrote: > Update kfunc flags for hid_bpf_syscall_kfunc_ids set to exactly match > hid_bpf_kfunc_ids set by adding KF_SLEEPABLE flag. > > The syscall set omitted the flag because syscall programs are always > sleepable (the verifier rejects a non-sleepable syscall program). > > However the upcoming resolve_btfids change enforces per-kfunc flag > consistency across BTF ID sets at build time, which is why this change > is necessary. > > Signed-off-by: Ihor Solodrai <[email protected]> > --- Reviewed-by: Eduard Zingerman <[email protected]> Benjamin, Jiri, could you please take a look? > drivers/hid/bpf/hid_bpf_dispatch.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/hid/bpf/hid_bpf_dispatch.c b/drivers/hid/bpf/hid_bpf_dispatch.c > index 536f6d01fd14..44671dbdeca8 100644 > --- a/drivers/hid/bpf/hid_bpf_dispatch.c > +++ b/drivers/hid/bpf/hid_bpf_dispatch.c > @@ -590,11 +590,11 @@ static const struct btf_kfunc_id_set hid_bpf_kfunc_set = { > > /* for syscall HID-BPF */ > BTF_KFUNCS_START(hid_bpf_syscall_kfunc_ids) > -BTF_ID_FLAGS(func, hid_bpf_allocate_context, KF_ACQUIRE | KF_RET_NULL) > -BTF_ID_FLAGS(func, hid_bpf_release_context, KF_RELEASE) > -BTF_ID_FLAGS(func, hid_bpf_hw_request) > -BTF_ID_FLAGS(func, hid_bpf_hw_output_report) > -BTF_ID_FLAGS(func, hid_bpf_input_report) > +BTF_ID_FLAGS(func, hid_bpf_allocate_context, KF_ACQUIRE | KF_RET_NULL | KF_SLEEPABLE) > +BTF_ID_FLAGS(func, hid_bpf_release_context, KF_RELEASE | KF_SLEEPABLE) > +BTF_ID_FLAGS(func, hid_bpf_hw_request, KF_SLEEPABLE) > +BTF_ID_FLAGS(func, hid_bpf_hw_output_report, KF_SLEEPABLE) > +BTF_ID_FLAGS(func, hid_bpf_input_report, KF_SLEEPABLE) > BTF_KFUNCS_END(hid_bpf_syscall_kfunc_ids) > > static const struct btf_kfunc_id_set hid_bpf_syscall_kfunc_set = {