2022-08-02 07:49:08

by studentxswpy

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

From: Xie Shaowen <[email protected]>

The function ioremap() in gscps2_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: Xie Shaowen <[email protected]>
---
drivers/input/serio/gscps2.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c
index a9065c6ab550..da2c67cb8642 100644
--- a/drivers/input/serio/gscps2.c
+++ b/drivers/input/serio/gscps2.c
@@ -350,6 +350,10 @@ static int __init gscps2_probe(struct parisc_device *dev)
ps2port->port = serio;
ps2port->padev = dev;
ps2port->addr = ioremap(hpa, GSC_STATUS + 4);
+ if (!ps2port->addr) {
+ ret = -ENOMEM;
+ goto fail_nomem;
+ }
spin_lock_init(&ps2port->lock);

gscps2_reset(ps2port);
--
2.25.1



2022-08-02 09:03:20

by Helge Deller

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

On 8/2/22 09:20, [email protected] wrote:
> From: Xie Shaowen <[email protected]>
>
> The function ioremap() in gscps2_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: Xie Shaowen <[email protected]>

I've applied it to the parisc git tree.

Thanks!
Helge

> ---
> drivers/input/serio/gscps2.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c
> index a9065c6ab550..da2c67cb8642 100644
> --- a/drivers/input/serio/gscps2.c
> +++ b/drivers/input/serio/gscps2.c
> @@ -350,6 +350,10 @@ static int __init gscps2_probe(struct parisc_device *dev)
> ps2port->port = serio;
> ps2port->padev = dev;
> ps2port->addr = ioremap(hpa, GSC_STATUS + 4);
> + if (!ps2port->addr) {
> + ret = -ENOMEM;
> + goto fail_nomem;
> + }
> spin_lock_init(&ps2port->lock);
>
> gscps2_reset(ps2port);