selftests: xsk: Use correct UMEM size in testapp_invalid_desc
authorKal Conley <kal.conley@dectris.com>
Mon, 3 Apr 2023 14:50:46 +0000 (16:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:20 +0000 (23:03 +0900)
[ Upstream commit 7a2050df244e2c9a4e90882052b7907450ad10ed ]

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>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Link: https://lore.kernel.org/r/20230403145047.33065-2-kal.conley@dectris.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/xskxceiver.c
tools/testing/selftests/bpf/xskxceiver.h

index 8d5d9b9..44ca500 100644 (file)
@@ -1661,6 +1661,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},
@@ -1671,9 +1672,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 */
@@ -1691,8 +1692,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));
index edb76d2..292fc94 100644 (file)
@@ -52,7 +52,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)