-----Original Message-----
From: wangyunjian <wangyunj...@huawei.com> 
Sent: Monday, 7 December 2020 15:08
To: Liron Himi <lir...@marvell.com>; dev@dpdk.org
Cc: z...@semihalf.com; Lilijun (Jerry) <jerry.lili...@huawei.com>; xudingke 
<xudin...@huawei.com>; sta...@dpdk.org
Subject: RE: [EXT] [dpdk-dev] [PATCH] net/mvneta: check allocation in rx queue 
flush

> -----Original Message-----
> From: Liron Himi [mailto:lir...@marvell.com]
> Sent: Monday, December 7, 2020 8:38 PM
> To: wangyunjian <wangyunj...@huawei.com>; dev@dpdk.org
> Cc: z...@semihalf.com; Lilijun (Jerry) <jerry.lili...@huawei.com>; 
> xudingke <xudin...@huawei.com>; sta...@dpdk.org; Liron Himi 
> <lir...@marvell.com>
> Subject: RE: [EXT] [dpdk-dev] [PATCH] net/mvneta: check allocation in 
> rx queue flush
> 
> Hi,
> 
> How about use 2 local arrays for descs & bufs instead of the malloc/free?

The definition of these 2 arrays is 2048. If it is a local array, is it too 
large?
[L.H.] I'm not sure. Lets stay with your original patch. 

Acked-by: Liron Himi <lir...@marvell.com>

> 
> Liron
> 
> 
> -----Original Message-----
> From: wangyunjian <wangyunj...@huawei.com>
> Sent: Monday, 7 December 2020 13:37
> To: dev@dpdk.org
> Cc: Liron Himi <lir...@marvell.com>; z...@semihalf.com; 
> jerry.lili...@huawei.com; xudin...@huawei.com; Yunjian Wang 
> <wangyunj...@huawei.com>; sta...@dpdk.org
> Subject: [EXT] [dpdk-dev] [PATCH] net/mvneta: check allocation in rx 
> queue flush
> 
> External Email
> 
> ----------------------------------------------------------------------
> From: Yunjian Wang <wangyunj...@huawei.com>
> 
> The function rte_malloc() could return NULL, the return value need to 
> be checked.
> 
> Fixes: ce7ea764597e ("net/mvneta: support Rx/Tx")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Yunjian Wang <wangyunj...@huawei.com>
> ---
>  drivers/net/mvneta/mvneta_rxtx.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/net/mvneta/mvneta_rxtx.c
> b/drivers/net/mvneta/mvneta_rxtx.c
> index 10b6f57584..dfa7ecc090 100644
> --- a/drivers/net/mvneta/mvneta_rxtx.c
> +++ b/drivers/net/mvneta/mvneta_rxtx.c
> @@ -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;
> --
> 2.23.0

Reply via email to