net: mvpp2: Fix a memory leak in error handling path
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>
Sun, 19 Feb 2017 09:19:57 +0000 (10:19 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Feb 2017 15:33:19 +0000 (10:33 -0500)
if 'devm_kzalloc()' fails, we should release resources allocated so far,
just as done a few lines below.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2.c

index c2fd7c36f9278842104b6c8a0dcee2147bae5835..c48632048f716687b4ad0f2bf3b287917c26cdd3 100644 (file)
@@ -5971,8 +5971,10 @@ static int mvpp2_port_init(struct mvpp2_port *port)
                struct mvpp2_tx_queue *txq;
 
                txq = devm_kzalloc(dev, sizeof(*txq), GFP_KERNEL);
-               if (!txq)
-                       return -ENOMEM;
+               if (!txq) {
+                       err = -ENOMEM;
+                       goto err_free_percpu;
+               }
 
                txq->pcpu = alloc_percpu(struct mvpp2_txq_pcpu);
                if (!txq->pcpu) {