diff mbox series

Input: check the return value of ioremap() in gscps2_probe()

Message ID 20220802072033.3211980-1-studentxswpy@163.com (mailing list archive)
State Accepted, archived
Headers show
Series Input: check the return value of ioremap() in gscps2_probe() | expand

Commit Message

studentxswpy@163.com Aug. 2, 2022, 7:20 a.m. UTC
From: Xie Shaowen <studentxswpy@163.com>

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 <hacashRobot@santino.com>
Signed-off-by: Xie Shaowen <studentxswpy@163.com>
---
 drivers/input/serio/gscps2.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Helge Deller Aug. 2, 2022, 8:35 a.m. UTC | #1
On 8/2/22 09:20, studentxswpy@163.com wrote:
> From: Xie Shaowen <studentxswpy@163.com>
>
> 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 <hacashRobot@santino.com>
> Signed-off-by: Xie Shaowen <studentxswpy@163.com>

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);
diff mbox series

Patch

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);