Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1703820ybz; Sat, 18 Apr 2020 06:47:08 -0700 (PDT) X-Google-Smtp-Source: APiQypJTjdooYEYh921RxH3LrHNFoZFp/iK6I8Qag7WEHN53GPnnLvt2i9mcLK3IdlhhyZI3Y9l5 X-Received: by 2002:a17:906:7b53:: with SMTP id n19mr8064281ejo.244.1587217628380; Sat, 18 Apr 2020 06:47:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587217628; cv=none; d=google.com; s=arc-20160816; b=CFVPP93o+eYB03ixBn6zy+HdRh9GLWcTcJ5LSs13YAmLhKpPrXOXFcwpT0FfSyxjCa fMQoEerwhihXydyuS0DyArXkZlRcd/OoMicN0T0XgEQ07ihorDTfuzd6Qw3pqsjoxDqT mHjE1k5qLm04v0Sjl80Ns+AGv6yQuUMoRhQHLQQBltKJtr6GPEdtjQS6UAGVr5HZoG0Q 6EQkxQ05YZjTvOVJcIgi5IArZZc8DBhAnJY0VgkSc5++IQJBfOs+N5mcneS6vwxM0tCt Y9GnDbKFe1ejKuNB0AQsZEDPtAczzrPa+t5eQWQkcpsjgGvb+r9+CAYPIyvOEg+9vNIq HZig== 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=gA2+hgNijZz8qfwcMghelFqpCbHH7jno0eKP7RQyuPI=; b=jNk4axrf2WviIl4Tdwxb2trUYawXW9coqh1HgaqSX6HufKgq+cPK2Z6EEBLRay3aki yDiFvNjspQVeh80EyKcYuJ2V9EGBvuCkXUpVP374b7E6P3Z/QcB99sNmodFiVfDZei4N cb8/+g3Gki88AgFJnTybP0zH2jaIvb4JDoKP5u72oviGctIjB8p50J1AFRASXvlQHPgA fS08bINQF1KXhsE7sjHxXEJoNVYUqeLXc78r/k/a3eT+lW7usUZa9K/2LNPFNOyo37ft khI8D69k3QSL/gMcGBj3MPk6Mcq50J8zIGblG4gkW6Ao0mFkGwXONIsjBk9LzquvEtWM fQxw== 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 u18si16285700ejx.502.2020.04.18.06.46.46; Sat, 18 Apr 2020 06:47:08 -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 S1726009AbgDRNph (ORCPT + 99 others); Sat, 18 Apr 2020 09:45:37 -0400 Received: from cmccmta2.chinamobile.com ([221.176.66.80]:11717 "EHLO cmccmta2.chinamobile.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725879AbgDRNpg (ORCPT ); Sat, 18 Apr 2020 09:45:36 -0400 Received: from spf.mail.chinamobile.com (unknown[172.16.121.13]) by rmmx-syy-dmz-app07-12007 (RichMail) with SMTP id 2ee75e9b0470c0a-aeed6; Sat, 18 Apr 2020 21:45:20 +0800 (CST) X-RM-TRANSID: 2ee75e9b0470c0a-aeed6 X-RM-TagInfo: emlType=0 X-RM-SPAM-FLAG: 00000000 Received: from localhost.localdomain (unknown[112.1.172.61]) by rmsmtp-syy-appsvr07-12007 (RichMail) with SMTP id 2ee75e9b046d98d-93ff7; Sat, 18 Apr 2020 21:45:19 +0800 (CST) X-RM-TRANSID: 2ee75e9b046d98d-93ff7 From: Tang Bin To: joro@8bytes.org, agross@kernel.org, bjorn.andersson@linaro.org, robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Tang Bin Subject: [PATCH v2]iommu/qcom:fix local_base status check Date: Sat, 18 Apr 2020 21:47:03 +0800 Message-Id: <20200418134703.1760-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 qcom_iommu_device_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: 0ae349a0f33f ("iommu/qcom: Add qcom_iommu") Signed-off-by: Tang Bin --- v2: - fix commit message and add fixed tag --- drivers/iommu/qcom_iommu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c index 4328da0b0..b160cf140 100644 --- a/drivers/iommu/qcom_iommu.c +++ b/drivers/iommu/qcom_iommu.c @@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct platform_device *pdev) qcom_iommu->dev = dev; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (res) + if (res) { qcom_iommu->local_base = devm_ioremap_resource(dev, res); + if (IS_ERR(qcom_iommu->local_base)) + return PTR_ERR(qcom_iommu->local_base); + } qcom_iommu->iface_clk = devm_clk_get(dev, "iface"); if (IS_ERR(qcom_iommu->iface_clk)) { -- 2.20.1.windows.1