Message ID | 20221011120108.782373-6-xukuohai@huaweicloud.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 4abdb1d5b250df4b5b3afd394d5e2fa516064c04 |
Headers | show |
Series | Fix bugs found by ASAN when running selftests | expand |
On 10/11/22 5:01 AM, Xu Kuohai wrote: > From: Xu Kuohai <xukuohai@huawei.com> > > 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> > --- > tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c b/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c > index 9b9cf8458adf..009ee37607df 100644 > --- a/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c > +++ b/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c > @@ -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); lgtm but how was it working before... weird. > err = bpf_prog_test_run_opts(prog_fd, &topts); > ASSERT_OK(err, "ipv6"); > ASSERT_EQ(topts.retval, XDP_TX, "ipv6 retval");
On 10/13/2022 7:17 AM, Martin KaFai Lau wrote: > On 10/11/22 5:01 AM, Xu Kuohai wrote: >> From: Xu Kuohai <xukuohai@huawei.com> >> >> 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> >> --- >> tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c b/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c >> index 9b9cf8458adf..009ee37607df 100644 >> --- a/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c >> +++ b/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c >> @@ -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); > > lgtm but how was it working before... weird. > the test case returns before this line is executed, see patch 6 >> err = bpf_prog_test_run_opts(prog_fd, &topts); >> ASSERT_OK(err, "ipv6"); >> ASSERT_EQ(topts.retval, XDP_TX, "ipv6 retval"); > > .
diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c b/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c index 9b9cf8458adf..009ee37607df 100644 --- a/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c +++ b/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c @@ -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");