Input: gscps2 - check return value of ioremap() in gscps2_probe()
authorXie Shaowen <studentxswpy@163.com>
Tue, 2 Aug 2022 07:20:33 +0000 (15:20 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:24:19 +0000 (14:24 +0200)
commit e61b3125a4f036b3c6b87ffd656fc1ab00440ae9 upstream.

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

Fixes: 4bdc0d676a643 ("remove ioremap_nocache and devm_ioremap_nocache")
Cc: <stable@vger.kernel.org> # v5.6+
Reported-by: Hacash Robot <hacashRobot@santino.com>
Signed-off-by: Xie Shaowen <studentxswpy@163.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/serio/gscps2.c

index a9065c6..da2c67c 100644 (file)
@@ -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);