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},
                /* 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 */
        }
 
        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));
 
 #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)