[PATCH bpf-next v4 3/3] selftests/bpf: add wrong type test to cgroup dev

From: Alexis Lothoré (eBPF Foundation)
Date: Wed Jul 31 2024 - 02:39:04 EST


Current cgroup_dev test mostly tests that device operation is accepted or
refused base on passed major/minor (and so, any operation performed during
test involves only char device)

Add a small subtest ensuring that the device type passed to bpf program
allows it to take decisions as well.

Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx>
Acked-by: Stanislav Fomichev <sdf@xxxxxxxxxxx>
Signed-off-by: Alexis Lothoré (eBPF Foundation) <alexis.lothore@xxxxxxxxxxx>
---
Changes in v4:
- update parameters to test both ret and errno

Changes in v3:
- reorganize subtests order

Changes in v2:
- change test name ("null" block device does not make sense)
- use updated subtest API for this new subtest
---
tools/testing/selftests/bpf/prog_tests/cgroup_dev.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/testing/selftests/bpf/prog_tests/cgroup_dev.c b/tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
index 8661e145ba84..5ab7547e38c0 100644
--- a/tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
+++ b/tools/testing/selftests/bpf/prog_tests/cgroup_dev.c
@@ -114,6 +114,10 @@ void test_cgroup_dev(void)
if (test__start_subtest("deny-write"))
test_write("/dev/zero", buf, TEST_BUFFER_SIZE, -1, EPERM);

+ if (test__start_subtest("deny-mknod-wrong-type"))
+ test_mknod("/dev/test_dev_cgroup_block", S_IFBLK, 1, 3, -1,
+ EPERM);
+
cleanup_progs:
dev_cgroup__destroy(skel);
cleanup_cgroup:

--
2.45.2