selftests/bpf: Fix error failure of case test_xdp_adjust_tail_grow
authorXu Kuohai <xukuohai@huawei.com>
Tue, 11 Oct 2022 12:01:07 +0000 (08:01 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:02 +0000 (13:32 +0100)
[ Upstream commit 4abdb1d5b250df4b5b3afd394d5e2fa516064c04 ]

test_xdp_adjust_tail_grow failed with ipv6:
  test_xdp_adjust_tail_grow:FAIL:ipv6 unexpected error: -28 (errno 28)

The reason is that this test case tests ipv4 before ipv6, and when ipv4
test finished, topts.data_size_out was set to 54, which is smaller than the
ipv6 output data size 114, so ipv6 test fails with NOSPC error.

Fix it by reset topts.data_size_out to sizeof(buf) before testing ipv6.

Fixes: 04fcb5f9a104 ("selftests/bpf: Migrate from bpf_prog_test_run")
Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://lore.kernel.org/bpf/20221011120108.782373-6-xukuohai@huaweicloud.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c

index 9b9cf84..009ee37 100644 (file)
@@ -63,6 +63,7 @@ static void test_xdp_adjust_tail_grow(void)
        expect_sz = sizeof(pkt_v6) + 40; /* Test grow with 40 bytes */
        topts.data_in = &pkt_v6;
        topts.data_size_in = sizeof(pkt_v6);
+       topts.data_size_out = sizeof(buf);
        err = bpf_prog_test_run_opts(prog_fd, &topts);
        ASSERT_OK(err, "ipv6");
        ASSERT_EQ(topts.retval, XDP_TX, "ipv6 retval");