Received: by 10.192.165.148 with SMTP id m20csp788300imm; Thu, 10 May 2018 00:06:28 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrD+L8h6N6jm0FmJwS66Jq4ii1xLrLleOdfgY+OzBvK6Of/MtIF20CswIFC7ZFUIeF1gekC X-Received: by 2002:a65:4acd:: with SMTP id c13-v6mr215874pgu.32.1525935988625; Thu, 10 May 2018 00:06:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525935988; cv=none; d=google.com; s=arc-20160816; b=Rof/4c7rub/ltVH1RFTcx6LPzTvR9fTCgHaf8gLgeWx8FQPyaFI7de0FMPKxIkHJGe 5h6Z/V96wp8Lohm8rQdenonx4hXSdy2K2xnnUuWAjkD5521jT3jIseX/ylhT7pPERfLy gWi1oU+oCRAOcjfzPqQOrZAxZ2U4Uuedf60Xxq/WD94CE6vEM17TV+1Kc0CznzhQTLNn VBWyz9cv0MmJwmJx2OZGDNp4qNtGDNkFQo0I6GfPJpCO8b0/LIQzkJxFlVwI2Q30K+QB 51q4VlWTHXymRGo60Xe3DsVPpuASJLn9Ocoyv1q7brUBUm0RGEa5IEpZmW8tFr9muUFO hBsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=GuLxYjbp/EGWpwdNLlrWknb9TdcAn+Bn+6z/3FoW3hs=; b=Lep5hAfIKNT2n/5aANT/fD3oq1Kq16/T1rM9p4I7N1xSRNEkTHFe/DHjsunMwSDe8C jty6ozmxLjMy+zKq9ViK+qkP2mJXmDEq9E6qG9MOtKxnm40Uf4IJGjAnP0qf0bbZ8MMq vTFRnGJaQqyDtcpQJzvuyY8la2iF2q74Z9pUKcPdPhwgY1e6VgiLdHL3aqqSERdwNQWQ RnwGmpxdTFg8YATZ2X1UX/Z+Oo+N5uI96f+7OVTXceTPGSCHSt34KSUHVPAUMipzm1+y wxIYEfxTairuz1FWoQVcEktPaWioDHnrPww15V9Q7Y6A18sSUYBr7xsoL5LNMC3Nq5q4 xV1A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x4-v6si138740pfm.110.2018.05.10.00.06.13; Thu, 10 May 2018 00:06:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934314AbeEJHF5 (ORCPT + 99 others); Thu, 10 May 2018 03:05:57 -0400 Received: from smtp06.smtpout.orange.fr ([80.12.242.128]:45327 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756305AbeEJHF4 (ORCPT ); Thu, 10 May 2018 03:05:56 -0400 Received: from ubuntu-CJ.home ([86.244.116.1]) by mwinf5d12 with ME id kX5t1x00V01t9Ri03X5uw8; Thu, 10 May 2018 09:05:55 +0200 X-ME-Helo: ubuntu-CJ.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Thu, 10 May 2018 09:05:55 +0200 X-ME-IP: 86.244.116.1 From: Christophe JAILLET To: davem@davemloft.net, tariqt@mellanox.com Cc: netdev@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH v2] net/mlx4_en: Fix an error handling path in 'mlx4_en_init_netdev()' Date: Thu, 10 May 2018 09:06:04 +0200 Message-Id: <20180510070604.19635-1-christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.17.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If an error occurs, 'mlx4_en_destroy_netdev()' is called. It then calls 'mlx4_en_free_resources()' which does the needed resources cleanup. So, doing some explicit kfree in the error handling path would lead to some double kfree. Simplify code to avoid such a case. Fixes: 67f8b1dcb9ee ("net/mlx4_en: Refactor the XDP forwarding rings scheme") Signed-off-by: Christophe JAILLET --- v1 -> v2 : rewrite the fix as explained by Tariq Toukan (this 2nd version may have been posted twice, once without the v2 tag. PLease ignore the first one) --- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c index e0adac4a9a19..9670b33fc9b1 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c @@ -3324,12 +3324,11 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, MAX_TX_RINGS, GFP_KERNEL); if (!priv->tx_ring[t]) { err = -ENOMEM; - goto err_free_tx; + goto out; } priv->tx_cq[t] = kzalloc(sizeof(struct mlx4_en_cq *) * MAX_TX_RINGS, GFP_KERNEL); if (!priv->tx_cq[t]) { - kfree(priv->tx_ring[t]); err = -ENOMEM; goto out; } @@ -3582,11 +3581,6 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, return 0; -err_free_tx: - while (t--) { - kfree(priv->tx_ring[t]); - kfree(priv->tx_cq[t]); - } out: mlx4_en_destroy_netdev(dev); return err; -- 2.17.0