net: mana: Fix a memory leak in an error handling path in 'mana_create_txq()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 20 Jun 2021 13:43:28 +0000 (15:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Jun 2021 21:40:08 +0000 (14:40 -0700)
If this test fails we must free some resources as in all the other error
handling paths of this function.

Fixes: ca9c54d2d6a5 ("net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microsoft/mana/mana_en.c

index 04d0672..1ed25e4 100644 (file)
@@ -1230,8 +1230,10 @@ static int mana_create_txq(struct mana_port_context *apc,
 
                cq->gdma_id = cq->gdma_cq->id;
 
-               if (WARN_ON(cq->gdma_id >= gc->max_num_cqs))
-                       return -EINVAL;
+               if (WARN_ON(cq->gdma_id >= gc->max_num_cqs)) {
+                       err = -EINVAL;
+                       goto out;
+               }
 
                gc->cq_table[cq->gdma_id] = cq->gdma_cq;