mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
selftests/bpf: Fix count write in testapp_xdp_metadata_copy()
Commit4b30209255("selftests/xsk: Add tail adjustment tests and support check") added a new global to xsk_xdp_progs.c, but left out the access in the testapp_xdp_metadata_copy() function. Since bpf_map_update_elem() will write to the whole bss section, it gets truncated. Fix by writing to skel_rx->bss->count directly. Fixes:4b30209255("selftests/xsk: Add tail adjustment tests and support check") Signed-off-by: Ricardo B. Marlière <rbm@suse.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20250829-selftests-bpf-xsk_regression_fix-v1-1-5f5acdb9fe6b@suse.com
This commit is contained in:
committed by
Andrii Nakryiko
parent
2a912258c9
commit
c9110e6f72
@@ -2276,25 +2276,13 @@ static int testapp_xdp_metadata_copy(struct test_spec *test)
|
||||
{
|
||||
struct xsk_xdp_progs *skel_rx = test->ifobj_rx->xdp_progs;
|
||||
struct xsk_xdp_progs *skel_tx = test->ifobj_tx->xdp_progs;
|
||||
struct bpf_map *data_map;
|
||||
int count = 0;
|
||||
int key = 0;
|
||||
|
||||
test_spec_set_xdp_prog(test, skel_rx->progs.xsk_xdp_populate_metadata,
|
||||
skel_tx->progs.xsk_xdp_populate_metadata,
|
||||
skel_rx->maps.xsk, skel_tx->maps.xsk);
|
||||
test->ifobj_rx->use_metadata = true;
|
||||
|
||||
data_map = bpf_object__find_map_by_name(skel_rx->obj, "xsk_xdp_.bss");
|
||||
if (!data_map || !bpf_map__is_internal(data_map)) {
|
||||
ksft_print_msg("Error: could not find bss section of XDP program\n");
|
||||
return TEST_FAILURE;
|
||||
}
|
||||
|
||||
if (bpf_map_update_elem(bpf_map__fd(data_map), &key, &count, BPF_ANY)) {
|
||||
ksft_print_msg("Error: could not update count element\n");
|
||||
return TEST_FAILURE;
|
||||
}
|
||||
skel_rx->bss->count = 0;
|
||||
|
||||
return testapp_validate_traffic(test);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user