drivers/hid/bpf/hid_bpf_dispatch.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
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>
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
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
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.
© 2016 - 2026 Red Hat, Inc.