2022-07-22 03:20:27

by williamsukatube

[permalink] [raw]
Subject: [PATCH] parisc: check the return value of ioremap() in lba_driver_probe()

From: William Dean <[email protected]>

The function ioremap() in lba_driver_probe() can fail, so
its return value should be checked.

Fixes: 4bdc0d676a643 ("remove ioremap_nocache and devm_ioremap_nocache")
Reported-by: Hacash Robot <[email protected]>
Signed-off-by: William Dean <[email protected]>
---
drivers/parisc/lba_pci.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c
index 732b516c7bf8..afc6e66ddc31 100644
--- a/drivers/parisc/lba_pci.c
+++ b/drivers/parisc/lba_pci.c
@@ -1476,9 +1476,13 @@ lba_driver_probe(struct parisc_device *dev)
u32 func_class;
void *tmp_obj;
char *version;
- void __iomem *addr = ioremap(dev->hpa.start, 4096);
+ void __iomem *addr;
int max;

+ addr = ioremap(dev->hpa.start, 4096);
+ if (addr == NULL)
+ return -ENOMEM;
+
/* Read HW Rev First */
func_class = READ_REG32(addr + LBA_FCLASS);

--
2.25.1


2022-07-26 08:50:28

by Helge Deller

[permalink] [raw]
Subject: Re: [PATCH] parisc: check the return value of ioremap() in lba_driver_probe()

On 7/22/22 04:57, [email protected] wrote:
> From: William Dean <[email protected]>
>
> The function ioremap() in lba_driver_probe() can fail, so
> its return value should be checked.
>
> Fixes: 4bdc0d676a643 ("remove ioremap_nocache and devm_ioremap_nocache")
> Reported-by: Hacash Robot <[email protected]>
> Signed-off-by: William Dean <[email protected]>

applied.

Thanks!
Helge

> ---
> drivers/parisc/lba_pci.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c
> index 732b516c7bf8..afc6e66ddc31 100644
> --- a/drivers/parisc/lba_pci.c
> +++ b/drivers/parisc/lba_pci.c
> @@ -1476,9 +1476,13 @@ lba_driver_probe(struct parisc_device *dev)
> u32 func_class;
> void *tmp_obj;
> char *version;
> - void __iomem *addr = ioremap(dev->hpa.start, 4096);
> + void __iomem *addr;
> int max;
>
> + addr = ioremap(dev->hpa.start, 4096);
> + if (addr == NULL)
> + return -ENOMEM;
> +
> /* Read HW Rev First */
> func_class = READ_REG32(addr + LBA_FCLASS);
>