* [PATCH] HID: bpf: Sync KF_SLEEPABLE flags in hid_bpf_syscall_kfuncs set
@ 2026-04-24 10:22 Zhao Mengmeng
2026-04-24 13:53 ` Alexei Starovoitov
0 siblings, 1 reply; 4+ messages in thread
From: Zhao Mengmeng @ 2026-04-24 10:22 UTC (permalink / raw)
To: Jiri Kosina, Benjamin Tissoires
Cc: linux-input, linux-kernel, bpf, Zhao Mengmeng
From: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
Pahole intersects flags across BTF_ID_FLAGS() occurrences, so omitting
KF_SLEEPABLE may drops the flags globally. sync this flags in
hid_bpf_syscall_kfuncs set to enforce consistency and safety.
Link: https://lore.kernel.org/sched-ext/177693500312.275653.17323765149266875001.b4-reply@b4/
Signed-off-by: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
---
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 50c7b45c59e3..62db80ead86e 100644
--- a/drivers/hid/bpf/hid_bpf_dispatch.c
+++ b/drivers/hid/bpf/hid_bpf_dispatch.c
@@ -585,11 +585,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 = {
---
base-commit: a67bb21a5fc478443d6db490c7049e9aeeb92bd4
change-id: 20260424-btf-define-622697aaece1
Best regards,
--
Zhao Mengmeng <zhaomengmeng@kylinos.cn>
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] HID: bpf: Sync KF_SLEEPABLE flags in hid_bpf_syscall_kfuncs set
2026-04-24 10:22 [PATCH] HID: bpf: Sync KF_SLEEPABLE flags in hid_bpf_syscall_kfuncs set Zhao Mengmeng
@ 2026-04-24 13:53 ` Alexei Starovoitov
2026-04-24 14:54 ` Benjamin Tissoires
0 siblings, 1 reply; 4+ messages in thread
From: Alexei Starovoitov @ 2026-04-24 13:53 UTC (permalink / raw)
To: Zhao Mengmeng, Jiri Kosina, Benjamin Tissoires
Cc: linux-input, linux-kernel, bpf, Zhao Mengmeng
On Fri Apr 24, 2026 at 3:22 AM PDT, Zhao Mengmeng wrote:
> From: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
>
> Pahole intersects flags across BTF_ID_FLAGS() occurrences, so omitting
> KF_SLEEPABLE may drops the flags globally. sync this flags in
> hid_bpf_syscall_kfuncs set to enforce consistency and safety.
Makes no sense.
These kfuncs are not sleepable.
pw-bot: cr
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] HID: bpf: Sync KF_SLEEPABLE flags in hid_bpf_syscall_kfuncs set
2026-04-24 13:53 ` Alexei Starovoitov
@ 2026-04-24 14:54 ` Benjamin Tissoires
2026-04-24 15:50 ` Zhao mengmeng
0 siblings, 1 reply; 4+ messages in thread
From: Benjamin Tissoires @ 2026-04-24 14:54 UTC (permalink / raw)
To: Alexei Starovoitov
Cc: Zhao Mengmeng, Jiri Kosina, linux-input, linux-kernel, bpf,
Zhao Mengmeng
On Apr 24 2026, Alexei Starovoitov wrote:
> On Fri Apr 24, 2026 at 3:22 AM PDT, Zhao Mengmeng wrote:
> > From: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
> >
> > Pahole intersects flags across BTF_ID_FLAGS() occurrences, so omitting
> > KF_SLEEPABLE may drops the flags globally. sync this flags in
> > hid_bpf_syscall_kfuncs set to enforce consistency and safety.
>
> Makes no sense.
> These kfuncs are not sleepable.
I'm not sure I parse correctly the reason for the dropping of the flags
by pahole, but all of those kfuncs are actually sleepable, except for
hid_bpf_input_report, which is *not* sleepable.
Cheers,
Benjamin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] HID: bpf: Sync KF_SLEEPABLE flags in hid_bpf_syscall_kfuncs set
2026-04-24 14:54 ` Benjamin Tissoires
@ 2026-04-24 15:50 ` Zhao mengmeng
0 siblings, 0 replies; 4+ messages in thread
From: Zhao mengmeng @ 2026-04-24 15:50 UTC (permalink / raw)
To: Benjamin Tissoires, Alexei Starovoitov
Cc: Jiri Kosina, linux-input, linux-kernel, bpf, Zhao Mengmeng
On April 24, 2026 10:54:45 PM GMT+08:00, Benjamin Tissoires <bentiss@kernel.org> wrote:
>On Apr 24 2026, Alexei Starovoitov wrote:
>> On Fri Apr 24, 2026 at 3:22 AM PDT, Zhao Mengmeng wrote:
>> > From: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
>> >
>> > Pahole intersects flags across BTF_ID_FLAGS() occurrences, so omitting
>> > KF_SLEEPABLE may drops the flags globally. sync this flags in
>> > hid_bpf_syscall_kfuncs set to enforce consistency and safety.
>>
>> Makes no sense.
>> These kfuncs are not sleepable.
>
>I'm not sure I parse correctly the reason for the dropping of the flags
>by pahole, but all of those kfuncs are actually sleepable, except for
>hid_bpf_input_report, which is *not* sleepable.
>
>Cheers,
>Benjamin
Hi Benjamin,
Sorry for the noise. I misunderstood the difference between KF_SLEEPABLE
and other KF_XX flags. The initial reason to send the patch is l found a
function signature change after a kfunc in two kfuncs sets, one with KF_IMPLICIT_ARGS,
while the other one without it. So I naively think that all kfuncs should
keep consistant declaration. Alexei is right, l will do more background work
before sending patches next time.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-04-24 15:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-24 10:22 [PATCH] HID: bpf: Sync KF_SLEEPABLE flags in hid_bpf_syscall_kfuncs set Zhao Mengmeng
2026-04-24 13:53 ` Alexei Starovoitov
2026-04-24 14:54 ` Benjamin Tissoires
2026-04-24 15:50 ` Zhao mengmeng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox