[PATCH next] perf: arm-ni: Fix an NULL vs IS_ERR() bug

Dan Carpenter posted 1 patch 2 months, 2 weeks ago
drivers/perf/arm-ni.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH next] perf: arm-ni: Fix an NULL vs IS_ERR() bug
Posted by Dan Carpenter 2 months, 2 weeks ago
The devm_ioremap() function never returns error pointers, it returns a
NULL pointer if there is an error.

Fixes: 4d5a7680f2b4 ("perf: Add driver for Arm NI-700 interconnect PMU")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/perf/arm-ni.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/perf/arm-ni.c b/drivers/perf/arm-ni.c
index b72df3aea93e..90fcfe693439 100644
--- a/drivers/perf/arm-ni.c
+++ b/drivers/perf/arm-ni.c
@@ -603,8 +603,8 @@ static int arm_ni_probe(struct platform_device *pdev)
 	 */
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
-	if (IS_ERR(base))
-		return PTR_ERR(base);
+	if (!base)
+		return -ENOMEM;
 
 	arm_ni_probe_domain(base, &cfg);
 	if (cfg.type != NI_GLOBAL)
-- 
2.45.2
Re: [PATCH next] perf: arm-ni: Fix an NULL vs IS_ERR() bug
Posted by Will Deacon 2 months, 2 weeks ago
On Wed, 11 Sep 2024 10:39:59 +0300, Dan Carpenter wrote:
> The devm_ioremap() function never returns error pointers, it returns a
> NULL pointer if there is an error.
> 
> 

Applied to will (for-next/perf), thanks!

[1/1] perf: arm-ni: Fix an NULL vs IS_ERR() bug
      https://git.kernel.org/will/c/2e091a805feb

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: [PATCH next] perf: arm-ni: Fix an NULL vs IS_ERR() bug
Posted by Robin Murphy 2 months, 2 weeks ago
On 2024-09-11 8:39 am, Dan Carpenter wrote:
> The devm_ioremap() function never returns error pointers, it returns a
> NULL pointer if there is an error.

Ah, this code went through a few evolutions, and apparently I missed 
that devm_ioremap() and devm_ioremap_resource() helpfully have different 
behaviour, urgh. Thanks Dan!

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Fixes: 4d5a7680f2b4 ("perf: Add driver for Arm NI-700 interconnect PMU")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>   drivers/perf/arm-ni.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/perf/arm-ni.c b/drivers/perf/arm-ni.c
> index b72df3aea93e..90fcfe693439 100644
> --- a/drivers/perf/arm-ni.c
> +++ b/drivers/perf/arm-ni.c
> @@ -603,8 +603,8 @@ static int arm_ni_probe(struct platform_device *pdev)
>   	 */
>   	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>   	base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
> -	if (IS_ERR(base))
> -		return PTR_ERR(base);
> +	if (!base)
> +		return -ENOMEM;
>   
>   	arm_ni_probe_domain(base, &cfg);
>   	if (cfg.type != NI_GLOBAL)