selftests/bpf: Test if shadow types work correctly.
authorKui-Feng Lee <thinker.li@gmail.com>
Thu, 29 Feb 2024 06:45:23 +0000 (22:45 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 29 Feb 2024 22:23:53 +0000 (14:23 -0800)
commit0623e73317940d052216fb6eef4efd55a0a7f602
tree524cfad5f7755ea83210ec355b43fa650219b237
parentf2e81192e07e87897ff1296c96775eceea8f582a
selftests/bpf: Test if shadow types work correctly.

Change the values of fields, including scalar types and function pointers,
and check if the struct_ops map works as expected.

The test changes the field "test_2" of "testmod_1" from the pointer to
test_2() to pointer to test_3() and the field "data" to 13. The function
test_2() and test_3() both compute a new value for "test_2_result", but in
different way. By checking the value of "test_2_result", it ensures the
struct_ops map works as expected with changes through shadow types.

Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20240229064523.2091270-6-thinker.li@gmail.com
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h
tools/testing/selftests/bpf/prog_tests/test_struct_ops_module.c
tools/testing/selftests/bpf/progs/struct_ops_module.c