summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorBenjamin Tissoires <bentiss@kernel.org>2024-07-23 18:21:54 +0200
committerBenjamin Tissoires <bentiss@kernel.org>2024-07-24 18:27:22 +0200
commitfacdbdfe0e6202d74758387ae9189c39f7b4b16c (patch)
tree6f99efe47551af6644b5f81d5b9e6ea54bf9c7bf /tools/testing
parentacd34cfc48b3dd46e5e4c4bdc99cc0c15568bac0 (diff)
selftests/hid: add test for attaching multiple time the same struct_ops
Turns out that we would en up in a bad state if we attempt to attach twice the same HID-BPF struct_ops, so have a test for it. Link: https://patch.msgid.link/20240723-fix-6-11-bpf-v1-4-b9d770346784@kernel.org Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/hid/hid_bpf.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/testing/selftests/hid/hid_bpf.c b/tools/testing/selftests/hid/hid_bpf.c
index 9c935fd0dffc..75b7b4ef6cfa 100644
--- a/tools/testing/selftests/hid/hid_bpf.c
+++ b/tools/testing/selftests/hid/hid_bpf.c
@@ -695,6 +695,24 @@ TEST_F(hid_bpf, subprog_raw_event)
}
/*
+ * Attach hid_first_event to the given uhid device,
+ * attempt at re-attaching it, we should not lock and
+ * return an invalid struct bpf_link
+ */
+TEST_F(hid_bpf, multiple_attach)
+{
+ const struct test_program progs[] = {
+ { .name = "hid_first_event" },
+ };
+ struct bpf_link *link;
+
+ LOAD_PROGRAMS(progs);
+
+ link = bpf_map__attach_struct_ops(self->skel->maps.first_event);
+ ASSERT_NULL(link) TH_LOG("unexpected return value when re-attaching the struct_ops");
+}
+
+/*
* Ensures that we can attach/detach programs
*/
TEST_F(hid_bpf, test_attach_detach)