Re: [PATCH bpf-next 1/2] selftests: xsk: Use correct UMEM size in testapp_invalid_desc

From: Magnus Karlsson
Date: Tue Apr 04 2023 - 02:26:52 EST


On Mon, 3 Apr 2023 at 16:52, Kal Conley <kal.conley@xxxxxxxxxxx> 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@xxxxxxxxx>

> Fixes: 909f0e28207c ("selftests: xsk: Add tests for 2K frame size")
> Signed-off-by: Kal Conley <kal.conley@xxxxxxxxxxx>
> ---
> 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
>