> > kfunc is a corresponding mechanism to introduce unstable api > from bpf into the kernel instead of stable helpers. > Just whitelist some functions as unstable kfunc helpers and call them > from bpf progs. > See net/bpf/test_run.c and bpf_kfunc_call* for inspiration. > I also like this idea. However, for hid_hw_raw_request() I can not blindly enable that function in all program types. This function makes the kernel sleep, and so we can not use it while in IRQ context. I think I can detect if we are in IRQ or not, but is it really worth enabling it across all BPF program types when we know that only SEC("hid/user_event") will use it? Also, I am not sure how we can make bpf_hid_get_data() work with that. We need to teach the verifier how much memory is provided, and I do not see how you can do that with kfunc. Cheers, Benjamin