Turns out that this function returns the attached fd, so a positive or null value. Given that we were having no other fds before, we were receiving 0, and the test passed. Cc: stable@xxxxxxxxxxxxxxx Fixes: f5c27da4e3c8 ("HID: initial BPF implementation") Signed-off-by: Benjamin Tissoires <bentiss@xxxxxxxxxx> --- drivers/hid/bpf/hid_bpf_jmp_table.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hid/bpf/hid_bpf_jmp_table.c b/drivers/hid/bpf/hid_bpf_jmp_table.c index 89496aabbe15..301ac79db241 100644 --- a/drivers/hid/bpf/hid_bpf_jmp_table.c +++ b/drivers/hid/bpf/hid_bpf_jmp_table.c @@ -521,7 +521,7 @@ void hid_bpf_free_links_and_skel(void) #define ATTACH_AND_STORE_LINK(__name) do { \ err = entrypoints_bpf__##__name##__attach(skel); \ - if (err) \ + if (err < 0) \ goto out; \ \ links[idx] = bpf_link_get_from_fd(skel->links.__name##_fd); \ -- 2.44.0