This is a RFC, following[0]. It works, still needs some care but this is mainly to see if this will have a chance to get upsrteamed or if I should rely on struct_ops instead. Cheers, Benjamin Signed-off-by: Benjamin Tissoires <bentiss@xxxxxxxxxx> --- Benjamin Tissoires (8): bpf: ignore sleepable prog parameter for kfuncs bpf: add kfunc_meta parameter to push_callback_call() bpf: implement __async and __s_async kfunc suffixes bpf: typedef a type for the bpf_wq callbacks selftests/bpf: rely on wq_callback_fn_t bpf: remove one special case of is_bpf_wq_set_callback_impl_kfunc bpf: implement __aux kfunc argument suffix to fetch prog_aux bpf: rely on __aux suffix for bpf_wq_set_callback_impl kernel/bpf/helpers.c | 10 +- kernel/bpf/verifier.c | 333 +++++++++++++++++++----- tools/testing/selftests/bpf/bpf_experimental.h | 3 +- tools/testing/selftests/bpf/progs/wq.c | 10 +- tools/testing/selftests/bpf/progs/wq_failures.c | 4 +- 5 files changed, 280 insertions(+), 80 deletions(-) --- base-commit: 05cbc217aafbc631a6c2fab4accf95850cb48358 change-id: 20240507-bpf_async-bd2e65847525 Best regards, -- Benjamin Tissoires <bentiss@xxxxxxxxxx>