2022-09-24 03:43:18

by Sun Ke

[permalink] [raw]
Subject: [PATCH] drivers/perf: fix return value check in ali_drw_pmu_probe()

In case of error, devm_ioremap_resource() returns ERR_PTR(),
and never returns NULL. The NULL test in the return value
check should be replaced with IS_ERR().

Fixes: cf7b61073e45 ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
Signed-off-by: Sun Ke <[email protected]>
---
drivers/perf/alibaba_uncore_drw_pmu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
index 82729b874f09..a7689fecb49d 100644
--- a/drivers/perf/alibaba_uncore_drw_pmu.c
+++ b/drivers/perf/alibaba_uncore_drw_pmu.c
@@ -658,8 +658,8 @@ static int ali_drw_pmu_probe(struct platform_device *pdev)

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
drw_pmu->cfg_base = devm_ioremap_resource(&pdev->dev, res);
- if (!drw_pmu->cfg_base)
- return -ENOMEM;
+ if (IS_ERR(drw_pmu->cfg_base))
+ return PTR_ERR(drw_pmu->cfg_base);

name = devm_kasprintf(drw_pmu->dev, GFP_KERNEL, "ali_drw_%llx",
(u64) (res->start >> ALI_DRW_PMU_PA_SHIFT));
--
2.31.1


2022-09-26 01:53:44

by Shuai Xue

[permalink] [raw]
Subject: Re: [PATCH] drivers/perf: fix return value check in ali_drw_pmu_probe()



在 2022/9/24 AM11:21, Sun Ke 写道:
> In case of error, devm_ioremap_resource() returns ERR_PTR(),
> and never returns NULL. The NULL test in the return value
> check should be replaced with IS_ERR().
>
> Fixes: cf7b61073e45 ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
> Signed-off-by: Sun Ke <[email protected]>

Good catch, thank you for fixing.

Reviewed-by: Shuai Xue <[email protected]>

Cheers,
Shuai



> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
> index 82729b874f09..a7689fecb49d 100644
> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
> @@ -658,8 +658,8 @@ static int ali_drw_pmu_probe(struct platform_device *pdev)
>
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> drw_pmu->cfg_base = devm_ioremap_resource(&pdev->dev, res);
> - if (!drw_pmu->cfg_base)
> - return -ENOMEM;
> + if (IS_ERR(drw_pmu->cfg_base))
> + return PTR_ERR(drw_pmu->cfg_base);
>
> name = devm_kasprintf(drw_pmu->dev, GFP_KERNEL, "ali_drw_%llx",
> (u64) (res->start >> ALI_DRW_PMU_PA_SHIFT));

2022-10-07 13:22:10

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] drivers/perf: fix return value check in ali_drw_pmu_probe()

On Sat, Sep 24, 2022 at 11:21:27AM +0800, Sun Ke wrote:
> In case of error, devm_ioremap_resource() returns ERR_PTR(),
> and never returns NULL. The NULL test in the return value
> check should be replaced with IS_ERR().
>
> Fixes: cf7b61073e45 ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
> Signed-off-by: Sun Ke <[email protected]>
> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
> index 82729b874f09..a7689fecb49d 100644
> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
> @@ -658,8 +658,8 @@ static int ali_drw_pmu_probe(struct platform_device *pdev)
>
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> drw_pmu->cfg_base = devm_ioremap_resource(&pdev->dev, res);
> - if (!drw_pmu->cfg_base)
> - return -ENOMEM;
> + if (IS_ERR(drw_pmu->cfg_base))
> + return PTR_ERR(drw_pmu->cfg_base);
>
> name = devm_kasprintf(drw_pmu->dev, GFP_KERNEL, "ali_drw_%llx",
> (u64) (res->start >> ALI_DRW_PMU_PA_SHIFT));

Acked-by: Will Deacon <[email protected]>

Catalin can pick this one up as a fix.

Cheers,

Will

2022-10-07 17:15:59

by Catalin Marinas

[permalink] [raw]
Subject: Re: [PATCH] drivers/perf: fix return value check in ali_drw_pmu_probe()

On Sat, 24 Sep 2022 11:21:27 +0800, Sun Ke wrote:
> In case of error, devm_ioremap_resource() returns ERR_PTR(),
> and never returns NULL. The NULL test in the return value
> check should be replaced with IS_ERR().
>
>

Applied to arm64 (for-next/core), thanks!

[1/1] drivers/perf: fix return value check in ali_drw_pmu_probe()
https://git.kernel.org/arm64/c/ad0112f2d54c

--
Catalin