Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1349782ybz; Wed, 22 Apr 2020 19:16:58 -0700 (PDT) X-Google-Smtp-Source: APiQypK4jalkrMxn7CYZ+S8jri99XAj75IPZP5Vw5v9v1SoKX7o3kcegmoQeGoO6+SYGSM1U42NX X-Received: by 2002:a50:f74c:: with SMTP id j12mr212629edn.197.1587608217905; Wed, 22 Apr 2020 19:16:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587608217; cv=none; d=google.com; s=arc-20160816; b=ztSxasLjll2hkwO7ph/xSgfMvU5dWhNlChX9JOraJZ0R5i4FpLNAJYWsCTBKRG5k65 5JkvkTCfvuGpbRfE4DkGH4iSPM+0Xw6WCEr9yXF75oUiJ++sTjJfdsTQd9h0lgYZ7zlm JyZbLdiyLg2QzoASDkeLLjWPfLDh40I1u0BX0PKspUzE8M+HVd3n3cMQPHFFXjM7ljZG pMaGEvBt3qjWQ+BKNMnF6UgTsK9lphPe7Tsndcnfuglp3VeLoVjX2EarK7kCrpTg6Rhz HpYqoxs75B4QWVCpQWcSuYxSDDfnS2c4t6ueUGYvZSKNx63oElSjln949oLXRAVxRn46 ZWRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=SOFiKeyKkMrtfDUNxxdJJD2HnXsIaY0do/i6HJCaClU=; b=0LJOoDLM08MgGh3cGTiS38X12Zrn7hxq2/Pnmzw0LbLzhyjo//5E4MvkzBjxJuuse/ Mygln3yGtWazzTTm54X1dQFhmHFtvLL+NGDAFIJT5esBVRkEo2yuaUW1C2dTx2MzrBmL MONKRbrhJf0Y81hdcL6qkwJbJ395/9yFqk706R4I8BKzO5bhDa2pEYOzzRA2dQ8DjqPN Y/+sr1z8bgcOPfIidWB7dRM/cUKGWEauGWeLVBopf1tvZzDl/wlCHjUir+ZuOq9knxUR vTy9/Hr3iW6VogkfY/lI/zHy25C2MI25kL6smr7jGROF8w31z0Oc9AiiHey4vCm+QHsQ L2TA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dk10si504785edb.3.2020.04.22.19.16.34; Wed, 22 Apr 2020 19:16:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726495AbgDWCPA (ORCPT + 99 others); Wed, 22 Apr 2020 22:15:00 -0400 Received: from cmccmta1.chinamobile.com ([221.176.66.79]:13043 "EHLO cmccmta1.chinamobile.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725781AbgDWCPA (ORCPT ); Wed, 22 Apr 2020 22:15:00 -0400 Received: from spf.mail.chinamobile.com (unknown[172.16.121.15]) by rmmx-syy-dmz-app04-12004 (RichMail) with SMTP id 2ee45ea0fa15e79-111ec; Thu, 23 Apr 2020 10:14:45 +0800 (CST) X-RM-TRANSID: 2ee45ea0fa15e79-111ec X-RM-TagInfo: emlType=0 X-RM-SPAM-FLAG: 00000000 Received: from localhost.localdomain (unknown[112.25.154.146]) by rmsmtp-syy-appsvr08-12008 (RichMail) with SMTP id 2ee85ea0fa0c83d-2ea42; Thu, 23 Apr 2020 10:14:44 +0800 (CST) X-RM-TRANSID: 2ee85ea0fa0c83d-2ea42 From: Tang Bin To: kuba@kernel.org, khalasa@piap.pl, davem@davemloft.net, linus.walleij@linaro.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Tang Bin , Zhang Shengju Subject: [PATCH v3] net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe() Date: Thu, 23 Apr 2020 10:16:31 +0800 Message-Id: <20200423021631.20800-1-tangbin@cmss.chinamobile.com> X-Mailer: git-send-email 2.20.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The function ixp4xx_eth_probe() does not perform sufficient error checking after executing devm_ioremap_resource(), which can result in crashes if a critical error path is encountered. Fixes: f458ac479777 ("ARM/net: ixp4xx: Pass ethernet physical base as resource") Signed-off-by: Zhang Shengju Signed-off-by: Tang Bin --- v3: - remove extra line, between the tags v2: - add fixes tag --- drivers/net/ethernet/xscale/ixp4xx_eth.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/xscale/ixp4xx_eth.c b/drivers/net/ethernet/xscale/ixp4xx_eth.c index 269596c15..2e5202923 100644 --- a/drivers/net/ethernet/xscale/ixp4xx_eth.c +++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c @@ -1387,6 +1387,8 @@ static int ixp4xx_eth_probe(struct platform_device *pdev) return -ENODEV; regs_phys = res->start; port->regs = devm_ioremap_resource(dev, res); + if (IS_ERR(port->regs)) + return PTR_ERR(port->regs); switch (port->id) { case IXP4XX_ETH_NPEA: -- 2.20.1.windows.1