Hi, > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Michael Baum > Sent: Wednesday, May 6, 2020 7:28 PM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@mellanox.com>; Slava Ovsiienko > <viachesl...@mellanox.com>; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] net/mlx4: fix drop queue mem alloc failure > handle > > The function mlx4_drop_get() creates pointer to a struct mlx4_drop and > if needed allocates by rte_malloc. > > If the allocation is failed the function goes to label “error”, and > there does dereference to a null pointer. > > Skip resources cleaning when the memory allocation is failed. > > Coverity issue: 146206 > Coverity issue: 146146 > Fixes: d3a7e09234e4 ("net/mlx4: allocate drop flow resources on demand") > Cc: sta...@dpdk.org > > Signed-off-by: Michael Baum <michae...@mellanox.com> > Acked-by: Matan Azrad <ma...@mellanox.com> > --- > drivers/net/mlx4/mlx4_flow.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c > index 793f0b0..2a86382 100644 > --- a/drivers/net/mlx4/mlx4_flow.c > +++ b/drivers/net/mlx4/mlx4_flow.c > @@ -980,12 +980,13 @@ struct mlx4_drop { > priv->drop = drop; > return drop; > error: > - if (drop->qp) > - claim_zero(mlx4_glue->destroy_qp(drop->qp)); > - if (drop->cq) > - claim_zero(mlx4_glue->destroy_cq(drop->cq)); > - if (drop) > + if (drop) { > + if (drop->qp) > + claim_zero(mlx4_glue->destroy_qp(drop->qp)); > + if (drop->cq) > + claim_zero(mlx4_glue->destroy_cq(drop->cq)); > rte_free(drop); > + } > rte_errno = ENOMEM; > return NULL; > } > -- > 1.8.3.1
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh