Received: by 2002:ac0:a679:0:0:0:0:0 with SMTP id p54csp1257337imp; Thu, 21 Feb 2019 23:16:28 -0800 (PST) X-Google-Smtp-Source: AHgI3IaswqeJaJABXitspCi2sRpt44zj6FM22pgmVfC3uQ7BnwLCBz+5aXr6VAE9TSvV6LhA6QSu X-Received: by 2002:aa7:9152:: with SMTP id 18mr2684362pfi.215.1550819788914; Thu, 21 Feb 2019 23:16:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550819788; cv=none; d=google.com; s=arc-20160816; b=TduT/dcL3wA3IATBLpeysyJnsEVHxE+6EpTVvq59+w3e8QseMGjii6ohcTF97EUsf/ JhTMczd3+aBB/ywuo9qvAIoX96Z5Gt67xMd38Fjhwlq6CGxc91x/C6xnNE2Jm1QqhUw0 QAZkTecf7tnaXQLsE5dOeRdOZ+LW2qpILKSntf5D9evkP1PlDa44Nx5kSSqQOlKEPGAf bMB1mqmoAu/KSxuDa9GkVnMh+sM0VJubQ+PxOjE9Fvv75OGONKWOhcS2rtb8yoXoZQRn 4otXRtEos9L0sWaT370DgWYPpgsGd4jXNnIv1rd/DsJbSC1beKBRD1L0QGGVTjJQnO9C 7lVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=qBXjoh0sNkwOLQB7gwjPd1no10GIwsI74uGkIQXKMpE=; b=IyF5Ajb0iSeGZClqjzQl2Ggf64nOiM8mR9hgxqzA0jZST47oGUc813YEzE0DFRMwne tl0fPaBoUbIzc9oRl4Jcog+1Yd4GgrECy610FximjrYWAWCHEnFNGFHiwDdKRDVfAaP5 bo88IPk93jm1ZLGQ7JFTxcRlhHk4x9QwyF7mdVax1UBtQErgoeSZdesjSCpao/obDt24 5rzx0wSQLELXZVRWErDWNJ305e7xvX3TIPRw73AukLBxdLHWwuV9y8IPdAv1oL2w+u1d 7ILtQ8nH2KU6aWUctSrK7wF/91l4ewX1QznK8evU6xiQAFVngO6OmEMSuPDDo/Wf4B3V sKjA== 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 f3si704585pld.358.2019.02.21.23.16.13; Thu, 21 Feb 2019 23:16:28 -0800 (PST) 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 S1726471AbfBVHPs (ORCPT + 99 others); Fri, 22 Feb 2019 02:15:48 -0500 Received: from mxhk.zte.com.cn ([63.217.80.70]:63546 "EHLO mxhk.zte.com.cn" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725864AbfBVHPp (ORCPT ); Fri, 22 Feb 2019 02:15:45 -0500 Received: from mse01.zte.com.cn (unknown [10.30.3.20]) by Forcepoint Email with ESMTPS id 0775689F7E63BE8FA48E; Fri, 22 Feb 2019 15:15:43 +0800 (CST) Received: from notes_smtp.zte.com.cn ([10.30.1.239]) by mse01.zte.com.cn with ESMTP id x1M7FONF037279; Fri, 22 Feb 2019 15:15:24 +0800 (GMT-8) (envelope-from wen.yang99@zte.com.cn) Received: from fox-host8.localdomain ([10.74.120.8]) by szsmtp06.zte.com.cn (Lotus Domino Release 8.5.3FP6) with ESMTP id 2019022215160221-1228878 ; Fri, 22 Feb 2019 15:16:02 +0800 From: Wen Yang To: linus.walleij@linaro.org Cc: andrew@lunn.ch, vivien.didelot@gmail.com, f.fainelli@gmail.com, davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, alexandre.belloni@bootlin.com, UNGLinuxDriver@microchip.com, nbd@nbd.name, lorenzo.bianconi83@gmail.com, kvalo@codeaurora.org, matthias.bgg@gmail.com, linux-wireless@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, anirudh@xilinx.com, John.Linn@xilinx.com, michal.simek@xilinx.com, wang.yi59@zte.com.cn, Wen Yang Subject: [PATCH 2/5] net: mscc: ocelot: fix a leaked reference by adding a missing of_node_put Date: Fri, 22 Feb 2019 15:15:39 +0800 Message-Id: <1550819742-32155-2-git-send-email-wen.yang99@zte.com.cn> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1550819742-32155-1-git-send-email-wen.yang99@zte.com.cn> References: <1550819742-32155-1-git-send-email-wen.yang99@zte.com.cn> X-MIMETrack: Itemize by SMTP Server on SZSMTP06/server/zte_ltd(Release 8.5.3FP6|November 21, 2013) at 2019-02-22 15:16:02, Serialize by Router on notes_smtp/zte_ltd(Release 9.0.1FP7|August 17, 2016) at 2019-02-22 15:15:08, Serialize complete at 2019-02-22 15:15:08 X-MAIL: mse01.zte.com.cn x1M7FONF037279 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The call to of_parse_phandle returns a node pointer with refcount incremented thus it must be explicitly decremented after the last usage. Detected by coccinelle with the following warnings: ./drivers/net/ethernet/mscc/ocelot_board.c:293:3-9: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 249, but without a corresponding object release within this function. ./drivers/net/ethernet/mscc/ocelot_board.c:312:3-9: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 249, but without a corresponding object release within this function. ./drivers/net/ethernet/mscc/ocelot_board.c:336:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 249, but without a corresponding object release within this function. ./drivers/net/ethernet/mscc/ocelot_board.c:339:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 249, but without a corresponding object release within this function. Signed-off-by: Wen Yang Cc: Alexandre Belloni Cc: Microchip Linux Driver Support Cc: "David S. Miller" Cc: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/net/ethernet/mscc/ocelot_board.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mscc/ocelot_board.c b/drivers/net/ethernet/mscc/ocelot_board.c index ca3ea2f..f1485a6 100644 --- a/drivers/net/ethernet/mscc/ocelot_board.c +++ b/drivers/net/ethernet/mscc/ocelot_board.c @@ -290,7 +290,7 @@ static int mscc_ocelot_probe(struct platform_device *pdev) err = ocelot_probe_port(ocelot, port, regs, phy); if (err) - return err; + goto err_probe_ports; err = of_get_phy_mode(portnp); if (err < 0) @@ -309,7 +309,8 @@ static int mscc_ocelot_probe(struct platform_device *pdev) dev_err(ocelot->dev, "invalid phy mode for port%d, (Q)SGMII only\n", port); - return -EINVAL; + err = -EINVAL; + goto err_probe_ports; } serdes = devm_of_phy_get(ocelot->dev, portnp, NULL); @@ -328,6 +329,7 @@ static int mscc_ocelot_probe(struct platform_device *pdev) ocelot->ports[port]->serdes = serdes; } + of_node_put(ports); register_netdevice_notifier(&ocelot_netdevice_nb); register_switchdev_blocking_notifier(&ocelot_switchdev_blocking_nb); @@ -336,6 +338,7 @@ static int mscc_ocelot_probe(struct platform_device *pdev) return 0; err_probe_ports: + of_node_put(ports); return err; } -- 2.9.5