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 = {