Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp4061356ybi; Fri, 5 Jul 2019 20:43:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqwsJLjY1GM8dnEX/FTSGqQ4d6E5HXpFQXUUiGLKdSMoteX2ly0DMdft2x+Z4HWrym0ZDSpT X-Received: by 2002:a17:90a:fa18:: with SMTP id cm24mr9231313pjb.120.1562384582395; Fri, 05 Jul 2019 20:43:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562384582; cv=none; d=google.com; s=arc-20160816; b=IiFm1GH8mqnDptYMs7UZl73bDQOJocsuBOu38ouf/xkMeaxQLM2H7J5Qp0L8yVvKfK aSOnEDA1dxr7M97OwhZZlU+KJdrZ3epqbQVgMZVJFoA+VtjcqDI75W1Nxw1cRFB966AU I7bWZ6wKFMejeu7l83rPDSqVLhXqLTeep5rBc4eWzu4t6AU5wAoQq4/aXuidvXSPOcE2 hsPWqzoxkc1ahOGtJ04rQDOeHWnlWwX5YJDnsAP9lChG+L3J7JEslc6UZYWgqoha3c52 PtMyP9YL0oy8ZIF4aiamBv6WyMjPcaeUDTLuvZGc+Hgj7PQeFN3MffOQp7H9aJTDvH6R TVXA== 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; bh=1ehRG9Ip0NTAkggDWg4y5tFtzLbclGwxYH224W1QPA8=; b=EU6zHRwLmlGi934gu2Mkn9S/y6XEC+IlT5kP7RLeAUqtjMYbbdMnuLmhkWw3vt+AOa tpC19B1zKAYD5bN84WNeCh4GgNVUlzEsUCZf1aOwQg0xhtzDNs0X+j09WuckwvlzrPwT pvYNCoOvarQdrTneJ7wCG4PKHpVECXyeB5RiOqgxGeiEoXiKIHZy8qmkcHBr3/6gJOjV UmjGmHfLo0Rv3ktJjgHNNDa/iSDldk4/LbZ/JxspKL5p2iffODSCWhGv87V+M2/t6HmW 7KqsXs/ts2J/CnnpBWMDTjrELfssztreO+Cyud0SKw/Tdkr4XcxQiV9xifU4H/sMKnI6 IU/w== 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 t10si10509718pgv.139.2019.07.05.20.42.47; Fri, 05 Jul 2019 20:43:02 -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 S1726887AbfGFDky (ORCPT + 99 others); Fri, 5 Jul 2019 23:40:54 -0400 Received: from mxhk.zte.com.cn ([63.217.80.70]:20010 "EHLO mxhk.zte.com.cn" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725813AbfGFDky (ORCPT ); Fri, 5 Jul 2019 23:40:54 -0400 Received: from mse-fl2.zte.com.cn (unknown [10.30.14.239]) by Forcepoint Email with ESMTPS id 3FCEE1E2C435B7DB376A; Sat, 6 Jul 2019 11:40:49 +0800 (CST) Received: from notes_smtp.zte.com.cn ([10.30.1.239]) by mse-fl2.zte.com.cn with ESMTP id x663eTXS033818; Sat, 6 Jul 2019 11:40:29 +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 2019070611411255-2124361 ; Sat, 6 Jul 2019 11:41:12 +0800 From: Wen Yang To: linux-kernel@vger.kernel.org Cc: xue.zhihong@zte.com.cn, wang.yi59@zte.com.cn, cheng.shengyu@zte.com.cn, Wen Yang , Anirudha Sarangi , John Linn , "David S. Miller" , Michal Simek , Robert Hancock , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH] net: axienet: fix a potential double free in axienet_probe() Date: Sat, 6 Jul 2019 11:38:41 +0800 Message-Id: <1562384321-46727-1-git-send-email-wen.yang99@zte.com.cn> X-Mailer: git-send-email 1.8.3.1 X-MIMETrack: Itemize by SMTP Server on SZSMTP06/server/zte_ltd(Release 8.5.3FP6|November 21, 2013) at 2019-07-06 11:41:12, Serialize by Router on notes_smtp/zte_ltd(Release 9.0.1FP7|August 17, 2016) at 2019-07-06 11:40:35, Serialize complete at 2019-07-06 11:40:35 X-MAIL: mse-fl2.zte.com.cn x663eTXS033818 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is a possible use-after-free issue in the axienet_probe(): 1701: np = of_parse_phandle(pdev->dev.of_node, "axistream-connected", 0); 1702: if (np) { ... 1787: of_node_put(np); ---> released here 1788: lp->eth_irq = platform_get_irq(pdev, 0); 1789: } else { ... 1801: } 1802: if (IS_ERR(lp->dma_regs)) { ... 1805: of_node_put(np); ---> double released here 1806: goto free_netdev; 1807: } We solve this problem by removing the unnecessary of_node_put(). Fixes: 28ef9ebdb64c ("net: axienet: make use of axistream-connected attribute optional") Signed-off-by: Wen Yang Cc: Anirudha Sarangi Cc: John Linn Cc: "David S. Miller" Cc: Michal Simek Cc: Robert Hancock Cc: netdev@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 561e28a..4fc627f 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -1802,7 +1802,6 @@ static int axienet_probe(struct platform_device *pdev) if (IS_ERR(lp->dma_regs)) { dev_err(&pdev->dev, "could not map DMA regs\n"); ret = PTR_ERR(lp->dma_regs); - of_node_put(np); goto free_netdev; } if ((lp->rx_irq <= 0) || (lp->tx_irq <= 0)) { -- 2.9.5