Message ID | 20230403145047.33065-2-kal.conley@dectris.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 7a2050df244e2c9a4e90882052b7907450ad10ed |
Headers | show |
Series | [bpf-next,1/2] selftests: xsk: Use correct UMEM size in testapp_invalid_desc | expand |
On Mon, 3 Apr 2023 at 16:52, Kal Conley <kal.conley@dectris.com> wrote: > > Avoid UMEM_SIZE macro in testapp_invalid_desc which is incorrect when > the frame size is not XSK_UMEM__DEFAULT_FRAME_SIZE. Also remove the > macro since it's no longer being used. Acked-by: Magnus Karlsson <magnus.karlsson@intel.com> > Fixes: 909f0e28207c ("selftests: xsk: Add tests for 2K frame size") > Signed-off-by: Kal Conley <kal.conley@dectris.com> > --- > tools/testing/selftests/bpf/xskxceiver.c | 9 +++++---- > tools/testing/selftests/bpf/xskxceiver.h | 1 - > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c > index b65e0645b0cd..3956f5db84f3 100644 > --- a/tools/testing/selftests/bpf/xskxceiver.c > +++ b/tools/testing/selftests/bpf/xskxceiver.c > @@ -1652,6 +1652,7 @@ static void testapp_single_pkt(struct test_spec *test) > > static void testapp_invalid_desc(struct test_spec *test) > { > + u64 umem_size = test->ifobj_tx->umem->num_frames * test->ifobj_tx->umem->frame_size; > struct pkt pkts[] = { > /* Zero packet address allowed */ > {0, PKT_SIZE, 0, true}, > @@ -1662,9 +1663,9 @@ static void testapp_invalid_desc(struct test_spec *test) > /* Packet too large */ > {0x2000, XSK_UMEM__INVALID_FRAME_SIZE, 0, false}, > /* After umem ends */ > - {UMEM_SIZE, PKT_SIZE, 0, false}, > + {umem_size, PKT_SIZE, 0, false}, > /* Straddle the end of umem */ > - {UMEM_SIZE - PKT_SIZE / 2, PKT_SIZE, 0, false}, > + {umem_size - PKT_SIZE / 2, PKT_SIZE, 0, false}, > /* Straddle a page boundrary */ > {0x3000 - PKT_SIZE / 2, PKT_SIZE, 0, false}, > /* Straddle a 2K boundrary */ > @@ -1682,8 +1683,8 @@ static void testapp_invalid_desc(struct test_spec *test) > } > > if (test->ifobj_tx->shared_umem) { > - pkts[4].addr += UMEM_SIZE; > - pkts[5].addr += UMEM_SIZE; > + pkts[4].addr += umem_size; > + pkts[5].addr += umem_size; > } > > pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts)); > diff --git a/tools/testing/selftests/bpf/xskxceiver.h b/tools/testing/selftests/bpf/xskxceiver.h > index bdb4efedf3a9..cc24ab72f3ff 100644 > --- a/tools/testing/selftests/bpf/xskxceiver.h > +++ b/tools/testing/selftests/bpf/xskxceiver.h > @@ -53,7 +53,6 @@ > #define THREAD_TMOUT 3 > #define DEFAULT_PKT_CNT (4 * 1024) > #define DEFAULT_UMEM_BUFFERS (DEFAULT_PKT_CNT / 4) > -#define UMEM_SIZE (DEFAULT_UMEM_BUFFERS * XSK_UMEM__DEFAULT_FRAME_SIZE) > #define RX_FULL_RXQSIZE 32 > #define UMEM_HEADROOM_TEST_SIZE 128 > #define XSK_UMEM__INVALID_FRAME_SIZE (XSK_UMEM__DEFAULT_FRAME_SIZE + 1) > -- > 2.39.2 >
diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c index b65e0645b0cd..3956f5db84f3 100644 --- a/tools/testing/selftests/bpf/xskxceiver.c +++ b/tools/testing/selftests/bpf/xskxceiver.c @@ -1652,6 +1652,7 @@ static void testapp_single_pkt(struct test_spec *test) static void testapp_invalid_desc(struct test_spec *test) { + u64 umem_size = test->ifobj_tx->umem->num_frames * test->ifobj_tx->umem->frame_size; struct pkt pkts[] = { /* Zero packet address allowed */ {0, PKT_SIZE, 0, true}, @@ -1662,9 +1663,9 @@ static void testapp_invalid_desc(struct test_spec *test) /* Packet too large */ {0x2000, XSK_UMEM__INVALID_FRAME_SIZE, 0, false}, /* After umem ends */ - {UMEM_SIZE, PKT_SIZE, 0, false}, + {umem_size, PKT_SIZE, 0, false}, /* Straddle the end of umem */ - {UMEM_SIZE - PKT_SIZE / 2, PKT_SIZE, 0, false}, + {umem_size - PKT_SIZE / 2, PKT_SIZE, 0, false}, /* Straddle a page boundrary */ {0x3000 - PKT_SIZE / 2, PKT_SIZE, 0, false}, /* Straddle a 2K boundrary */ @@ -1682,8 +1683,8 @@ static void testapp_invalid_desc(struct test_spec *test) } if (test->ifobj_tx->shared_umem) { - pkts[4].addr += UMEM_SIZE; - pkts[5].addr += UMEM_SIZE; + pkts[4].addr += umem_size; + pkts[5].addr += umem_size; } pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts)); diff --git a/tools/testing/selftests/bpf/xskxceiver.h b/tools/testing/selftests/bpf/xskxceiver.h index bdb4efedf3a9..cc24ab72f3ff 100644 --- a/tools/testing/selftests/bpf/xskxceiver.h +++ b/tools/testing/selftests/bpf/xskxceiver.h @@ -53,7 +53,6 @@ #define THREAD_TMOUT 3 #define DEFAULT_PKT_CNT (4 * 1024) #define DEFAULT_UMEM_BUFFERS (DEFAULT_PKT_CNT / 4) -#define UMEM_SIZE (DEFAULT_UMEM_BUFFERS * XSK_UMEM__DEFAULT_FRAME_SIZE) #define RX_FULL_RXQSIZE 32 #define UMEM_HEADROOM_TEST_SIZE 128 #define XSK_UMEM__INVALID_FRAME_SIZE (XSK_UMEM__DEFAULT_FRAME_SIZE + 1)
Avoid UMEM_SIZE macro in testapp_invalid_desc which is incorrect when the frame size is not XSK_UMEM__DEFAULT_FRAME_SIZE. Also remove the macro since it's no longer being used. Fixes: 909f0e28207c ("selftests: xsk: Add tests for 2K frame size") Signed-off-by: Kal Conley <kal.conley@dectris.com> --- tools/testing/selftests/bpf/xskxceiver.c | 9 +++++---- tools/testing/selftests/bpf/xskxceiver.h | 1 - 2 files changed, 5 insertions(+), 5 deletions(-)