[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z5L-ubBI7z1J6IDi@mini-arch>
Date: Thu, 23 Jan 2025 18:45:13 -0800
From: Stanislav Fomichev <stfomichev@...il.com>
To: Martin KaFai Lau <martin.lau@...ux.dev>
Cc: Shigeru Yoshida <syoshida@...hat.com>, ast@...nel.org,
daniel@...earbox.net, andrii@...nel.org, eddyz87@...il.com,
song@...nel.org, yonghong.song@...ux.dev, john.fastabend@...il.com,
kpsingh@...nel.org, sdf@...ichev.me, haoluo@...gle.com,
jolsa@...nel.org, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, horms@...nel.org,
hawk@...nel.org, lorenzo@...nel.org, toke@...hat.com,
bpf@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH bpf v2 2/2] selftests/bpf: Adjust data size to have
ETH_HLEN
On 01/23, Martin KaFai Lau wrote:
> On 1/23/25 11:18 AM, Stanislav Fomichev wrote:
> > On 01/22, Shigeru Yoshida wrote:
> > > The function bpf_test_init() now returns an error if user_size
> > > (.data_size_in) is less than ETH_HLEN, causing the tests to
> > > fail. Adjust the data size to ensure it meets the requirement of
> > > ETH_HLEN.
> > >
> > > Signed-off-by: Shigeru Yoshida <syoshida@...hat.com>
> > > ---
> > > .../testing/selftests/bpf/prog_tests/xdp_cpumap_attach.c | 4 ++--
> > > .../testing/selftests/bpf/prog_tests/xdp_devmap_attach.c | 8 ++++----
> > > 2 files changed, 6 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_cpumap_attach.c b/tools/testing/selftests/bpf/prog_tests/xdp_cpumap_attach.c
> > > index c7f74f068e78..df27535995af 100644
> > > --- a/tools/testing/selftests/bpf/prog_tests/xdp_cpumap_attach.c
> > > +++ b/tools/testing/selftests/bpf/prog_tests/xdp_cpumap_attach.c
> > > @@ -52,10 +52,10 @@ static void test_xdp_with_cpumap_helpers(void)
> > > ASSERT_EQ(info.id, val.bpf_prog.id, "Match program id to cpumap entry prog_id");
> > > /* send a packet to trigger any potential bugs in there */
> > > - char data[10] = {};
> > > + char data[ETH_HLEN] = {};
> > > DECLARE_LIBBPF_OPTS(bpf_test_run_opts, opts,
> > > .data_in = &data,
> > > - .data_size_in = 10,
> > > + .data_size_in = sizeof(data),
> > > .flags = BPF_F_TEST_XDP_LIVE_FRAMES,
> > > .repeat = 1,
> > > );
> >
> > We should still keep 10, but change the ASSERT_OK below to expect the
> > error instead. Looking at the comment above, the purpose of the test
> > is to exercise that error case.
> >
>
> I think the bpf_prog_test_run_opts in this dev/cpumap test is to check the
> bpf_redirect_map() helper, so it expects the bpf_prog_test_run_opts to
> succeed.
>
> It just happens the current data[10] cannot trigger the fixed bug because
> the bpf prog returns a XDP_REDIRECT instead of XDP_PASS, so xdp_recv_frames
> is not called.
>
> To test patch 1, a separate test is probably needed to trigger the bug in
> xdp_recv_frames() with a bpf prog returning XDP_PASS.
Ah, yes, you're right, I missed the remaining parts that make sure
the redirect happens :-(
Powered by blists - more mailing lists