selftests/bpf: Add a test for kmem_cache_iter
authorNamhyung Kim <namhyung@kernel.org>
Thu, 10 Oct 2024 23:25:05 +0000 (16:25 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 16 Oct 2024 16:21:18 +0000 (09:21 -0700)
commita496d0cdc84d81fbfd2026ef41c8ae9385d01fbb
treef13f8b1d43a4c52e13ad58fea028a40574ac88d0
parenta992d7a3979120fbd7c13435d27b3da8d9ed095a
selftests/bpf: Add a test for kmem_cache_iter

The test traverses all slab caches using the kmem_cache_iter and save
the data into slab_result array map.  And check if current task's
pointer is from "task_struct" slab cache using bpf_get_kmem_cache().

Also compare the result array with /proc/slabinfo if available (when
CONFIG_SLUB_DEBUG is on).  Note that many of the fields in the slabinfo
are transient, so it only compares the name and objsize fields.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20241010232505.1339892-4-namhyung@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/kmem_cache_iter.c [new file with mode: 0644]
tools/testing/selftests/bpf/progs/bpf_iter.h
tools/testing/selftests/bpf/progs/kmem_cache_iter.c [new file with mode: 0644]