net/mvneta: check allocation in Rx queue flush
authorYunjian Wang <wangyunjian@huawei.com>
Mon, 7 Dec 2020 11:37:15 +0000 (19:37 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 13 Jan 2021 18:39:08 +0000 (19:39 +0100)
The function rte_malloc() could return NULL, the return value
need to be checked.

Fixes: ce7ea764597e ("net/mvneta: support Rx/Tx")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Liron Himi <lironh@marvell.com>
drivers/net/mvneta/mvneta_rxtx.c

index 10b6f57..dfa7ecc 100644 (file)
@@ -872,7 +872,17 @@ mvneta_rx_queue_flush(struct mvneta_rxq *rxq)
        int ret, i;
 
        descs = rte_malloc("rxdesc", MRVL_NETA_RXD_MAX * sizeof(*descs), 0);
+       if (descs == NULL) {
+               MVNETA_LOG(ERR, "Failed to allocate descs.");
+               return;
+       }
+
        bufs = rte_malloc("buffs", MRVL_NETA_RXD_MAX * sizeof(*bufs), 0);
+       if (bufs == NULL) {
+               MVNETA_LOG(ERR, "Failed to allocate bufs.");
+               rte_free(descs);
+               return;
+       }
 
        do {
                num = MRVL_NETA_RXD_MAX;