eventdev: fix return value of null not checked

Message ID f12b6805dd3a9099a10236a2ad864dabc3860cc0.1595854066.git.wangyunjian@huawei.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series eventdev: fix return value of null not checked |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: errored
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Yunjian Wang July 27, 2020, 2:03 p.m. UTC
  From: Yunjian Wang <wangyunjian@huawei.com>

The function rte_zmalloc() could return NULL, the return value
need to be checked.

Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
---
 lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Rao, Nikhil Aug. 6, 2020, 3:40 p.m. UTC | #1
> -----Original Message-----
> From: wangyunjian <wangyunjian@huawei.com>
> Sent: Monday, July 27, 2020 7:33 PM
> To: dev@dpdk.org; Rao, Nikhil <nikhil.rao@intel.com>
> Cc: jerry.lilijun@huawei.com; xudingke@huawei.com; Yunjian Wang
> <wangyunjian@huawei.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] eventdev: fix return value of null not checked
> 
> From: Yunjian Wang <wangyunjian@huawei.com>
> 
> The function rte_zmalloc() could return NULL, the return value need to be
> checked.
> 
> Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> ---
>  lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> index bb21dc407..86287b4e6 100644
> --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> @@ -734,6 +734,8 @@ txa_service_queue_add(uint8_t id,
> 
>  		qdone = rte_zmalloc(txa->mem_name,
>  				nb_queues * sizeof(*qdone), 0);
> +		if (qdone == NULL)
> +			return -ENOMEM;

Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>

>  		j = 0;
>  		for (i = 0; i < nb_queues; i++) {
>  			if (txa_service_is_queue_added(txa, eth_dev, i))
> --
> 2.23.0
>
  
Jerin Jacob Oct. 4, 2020, 10:02 a.m. UTC | #2
On Thu, Aug 6, 2020 at 9:10 PM Rao, Nikhil <nikhil.rao@intel.com> wrote:
>
>
> > -----Original Message-----
> > From: wangyunjian <wangyunjian@huawei.com>
> > Sent: Monday, July 27, 2020 7:33 PM
> > To: dev@dpdk.org; Rao, Nikhil <nikhil.rao@intel.com>
> > Cc: jerry.lilijun@huawei.com; xudingke@huawei.com; Yunjian Wang
> > <wangyunjian@huawei.com>; stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] eventdev: fix return value of null not checked
> >
> > From: Yunjian Wang <wangyunjian@huawei.com>
> >
> > The function rte_zmalloc() could return NULL, the return value need to be
> > checked.
> >
> > Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> > ---
> >  lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> > b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> > index bb21dc407..86287b4e6 100644
> > --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> > +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> > @@ -734,6 +734,8 @@ txa_service_queue_add(uint8_t id,
> >
> >               qdone = rte_zmalloc(txa->mem_name,
> >                               nb_queues * sizeof(*qdone), 0);
> > +             if (qdone == NULL)
> > +                     return -ENOMEM;
>
> Reviewed-by: Nikhil Rao <nikhil.rao@intel.com>


Applied to dpdk-next-eventdev/for-main. Thanks.


>
> >               j = 0;
> >               for (i = 0; i < nb_queues; i++) {
> >                       if (txa_service_is_queue_added(txa, eth_dev, i))
> > --
> > 2.23.0
> >
>
  

Patch

diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index bb21dc407..86287b4e6 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -734,6 +734,8 @@  txa_service_queue_add(uint8_t id,
 
 		qdone = rte_zmalloc(txa->mem_name,
 				nb_queues * sizeof(*qdone), 0);
+		if (qdone == NULL)
+			return -ENOMEM;
 		j = 0;
 		for (i = 0; i < nb_queues; i++) {
 			if (txa_service_is_queue_added(txa, eth_dev, i))