summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/bpf/hid_bpf_dispatch.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/hid/bpf/hid_bpf_dispatch.c b/drivers/hid/bpf/hid_bpf_dispatch.c
index 26117b4ec016..8a034a555d4c 100644
--- a/drivers/hid/bpf/hid_bpf_dispatch.c
+++ b/drivers/hid/bpf/hid_bpf_dispatch.c
@@ -514,15 +514,16 @@ static int __init hid_bpf_init(void)
return 0;
}
- err = register_btf_kfunc_id_set(BPF_PROG_TYPE_TRACING, &hid_bpf_kfunc_set);
+ err = hid_bpf_preload_skel();
if (err) {
- pr_warn("error while setting HID BPF tracing kfuncs: %d", err);
+ pr_warn("error while preloading HID BPF dispatcher: %d", err);
return 0;
}
- err = hid_bpf_preload_skel();
+ /* register tracing kfuncs after we are sure we can load our preloaded bpf program */
+ err = register_btf_kfunc_id_set(BPF_PROG_TYPE_TRACING, &hid_bpf_kfunc_set);
if (err) {
- pr_warn("error while preloading HID BPF dispatcher: %d", err);
+ pr_warn("error while setting HID BPF tracing kfuncs: %d", err);
return 0;
}