From patchwork Sun Apr 12 09:27:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tangbin X-Patchwork-Id: 1269424 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cmss.chinamobile.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 490RFt1snKz9sSk for ; Sun, 12 Apr 2020 19:26:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726880AbgDLJ0N (ORCPT ); Sun, 12 Apr 2020 05:26:13 -0400 Received: from cmccmta2.chinamobile.com ([221.176.66.80]:3994 "EHLO cmccmta2.chinamobile.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725832AbgDLJ0N (ORCPT ); Sun, 12 Apr 2020 05:26:13 -0400 Received: from spf.mail.chinamobile.com (unknown[172.16.121.19]) by rmmx-syy-dmz-app05-12005 (RichMail) with SMTP id 2ee55e92de9da03-1fbc8; Sun, 12 Apr 2020 17:25:51 +0800 (CST) X-RM-TRANSID: 2ee55e92de9da03-1fbc8 X-RM-TagInfo: emlType=0 X-RM-SPAM-FLAG: 00000000 Received: from localhost.localdomain (unknown[112.1.172.56]) by rmsmtp-syy-appsvr10-12010 (RichMail) with SMTP id 2eea5e92de9c9bf-68f8a; Sun, 12 Apr 2020 17:25:51 +0800 (CST) X-RM-TRANSID: 2eea5e92de9c9bf-68f8a From: Tang Bin To: khalasa@piap.pl, davem@davemloft.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Tang Bin , Shengju Zhang Subject: [PATCH] net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe() Date: Sun, 12 Apr 2020 17:27:28 +0800 Message-Id: <20200412092728.8396-1-tangbin@cmss.chinamobile.com> X-Mailer: git-send-email 2.20.1.windows.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@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. Signed-off-by: Tang Bin Signed-off-by: Shengju Zhang --- 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: