2022-05-16 14:59:24

by Yang Yingliang

[permalink] [raw]
Subject: [PATCH -next] usb: typec: ucsi: fix return value check in ucsi_acpi_probe()

If memremap() fails, it never returns NULL. Replace NULL check
with IS_ERR().

Fixes: cdc3d2abf438 ("usb: typec: ucsi: acpi: Map the mailbox with memremap()")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Yang Yingliang <[email protected]>
---
drivers/usb/typec/ucsi/ucsi_acpi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c b/drivers/usb/typec/ucsi/ucsi_acpi.c
index 7455e3aff2be..8873c1644a29 100644
--- a/drivers/usb/typec/ucsi/ucsi_acpi.c
+++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
@@ -133,8 +133,8 @@ static int ucsi_acpi_probe(struct platform_device *pdev)
}

ua->base = devm_memremap(&pdev->dev, res->start, resource_size(res), MEMREMAP_WB);
- if (!ua->base)
- return -ENOMEM;
+ if (IS_ERR(ua->base))
+ return PTR_ERR(ua->base);

ret = guid_parse(UCSI_DSM_UUID, &ua->guid);
if (ret)
--
2.25.1



2022-05-17 14:53:01

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH -next] usb: typec: ucsi: fix return value check in ucsi_acpi_probe()

On Mon, May 16, 2022 at 09:15:27PM +0800, Yang Yingliang wrote:
> If memremap() fails, it never returns NULL. Replace NULL check
> with IS_ERR().

There's already a fix pending for this:
https://patchwork.kernel.org/project/linux-usb/patch/YnjaDBXLmwouCB3M@kili/

thanks,

> Fixes: cdc3d2abf438 ("usb: typec: ucsi: acpi: Map the mailbox with memremap()")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Yang Yingliang <[email protected]>
> ---
> drivers/usb/typec/ucsi/ucsi_acpi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c b/drivers/usb/typec/ucsi/ucsi_acpi.c
> index 7455e3aff2be..8873c1644a29 100644
> --- a/drivers/usb/typec/ucsi/ucsi_acpi.c
> +++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
> @@ -133,8 +133,8 @@ static int ucsi_acpi_probe(struct platform_device *pdev)
> }
>
> ua->base = devm_memremap(&pdev->dev, res->start, resource_size(res), MEMREMAP_WB);
> - if (!ua->base)
> - return -ENOMEM;
> + if (IS_ERR(ua->base))
> + return PTR_ERR(ua->base);
>
> ret = guid_parse(UCSI_DSM_UUID, &ua->guid);
> if (ret)

--
heikki

2022-05-18 03:55:13

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH -next] usb: typec: ucsi: fix return value check in ucsi_acpi_probe()

Hello!

On 5/16/22 4:15 PM, Yang Yingliang wrote:

> If memremap() fails, it never returns NULL. Replace NULL check

Oh, memremap() does! But devm_memremap() doesn't, indeed. :-)

> with IS_ERR().
>
> Fixes: cdc3d2abf438 ("usb: typec: ucsi: acpi: Map the mailbox with memremap()")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Yang Yingliang <[email protected]>
> ---
> drivers/usb/typec/ucsi/ucsi_acpi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c b/drivers/usb/typec/ucsi/ucsi_acpi.c
> index 7455e3aff2be..8873c1644a29 100644
> --- a/drivers/usb/typec/ucsi/ucsi_acpi.c
> +++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
> @@ -133,8 +133,8 @@ static int ucsi_acpi_probe(struct platform_device *pdev)
> }
>
> ua->base = devm_memremap(&pdev->dev, res->start, resource_size(res), MEMREMAP_WB);
> - if (!ua->base)
> - return -ENOMEM;
> + if (IS_ERR(ua->base))
> + return PTR_ERR(ua->base);
>
> ret = guid_parse(UCSI_DSM_UUID, &ua->guid);
> if (ret)

MBR, Sergey