Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751237AbdFBHNJ (ORCPT ); Fri, 2 Jun 2017 03:13:09 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:51966 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751124AbdFBHNH (ORCPT ); Fri, 2 Jun 2017 03:13:07 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 02 Jun 2017 12:43:05 +0530 From: kgunda@codeaurora.org To: Stephen Boyd Cc: Abhijeet Dharmapurikar , Greg Kroah-Hartman , Subbaraman Narayanamurthy , Christophe JAILLET , David Collins , linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, adharmap@quicinc.com, aghayal@qti.qualcomm.com, linux-arm-msm-owner@vger.kernel.org Subject: Re: [PATCH V1 12/15] spmi-pmic-arb: fix a possible null pointer dereference In-Reply-To: <20170531172918.GD20170@codeaurora.org> References: <1496147943-25822-1-git-send-email-kgunda@codeaurora.org> <1496147943-25822-13-git-send-email-kgunda@codeaurora.org> <20170531172918.GD20170@codeaurora.org> Message-ID: <127678dc3a728757a37e4f2987766ee4@codeaurora.org> User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1696 Lines: 49 On 2017-05-31 22:59, Stephen Boyd wrote: > On 05/30, Kiran Gunda wrote: >> diff --git a/drivers/spmi/spmi-pmic-arb.c >> b/drivers/spmi/spmi-pmic-arb.c >> index 2afe359..412481d 100644 >> --- a/drivers/spmi/spmi-pmic-arb.c >> +++ b/drivers/spmi/spmi-pmic-arb.c >> @@ -1003,6 +1003,12 @@ static int spmi_pmic_arb_probe(struct >> platform_device *pdev) >> pa->spmic = ctrl; >> >> res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "core"); >> + if (!res) { >> + dev_err(&pdev->dev, "core resource not specified\n"); >> + err = -EINVAL; >> + goto err_put_ctrl; >> + } >> + >> pa->core_size = resource_size(res); >> if (pa->core_size <= 0x800) { >> dev_err(&pdev->dev, "core_size is smaller than 0x800. Failing >> Probe\n"); > > I would prefer this patch instead, so that we can piggyback on > the error checking of the devm_ioremap_resource() code. Also, add > a Fixes: tag please so we can backport it as needed. > Sure. We will modify as per your suggestion in the next patch. > > diff --git a/drivers/spmi/spmi-pmic-arb.c > b/drivers/spmi/spmi-pmic-arb.c > index 5ec3a595dc7d..0cedbda60707 100644 > --- a/drivers/spmi/spmi-pmic-arb.c > +++ b/drivers/spmi/spmi-pmic-arb.c > @@ -878,12 +878,12 @@ static int spmi_pmic_arb_probe(struct > platform_device *pdev) > pa->spmic = ctrl; > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "core"); > - pa->core_size = resource_size(res); > core = devm_ioremap_resource(&ctrl->dev, res); > if (IS_ERR(core)) { > err = PTR_ERR(core); > goto err_put_ctrl; > } > + pa->core_size = resource_size(res); > > hw_ver = readl_relaxed(core + PMIC_ARB_VERSION); > is_v1 = (hw_ver < PMIC_ARB_VERSION_V2_MIN);