staging: kpc2000: kpc_i2c: fail probe if unable to get I/O resource
authorGeordan Neukum <gneukum1@gmail.com>
Sun, 26 May 2019 01:18:32 +0000 (01:18 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2019 21:04:26 +0000 (14:04 -0700)
The kpc_i2c driver attempts to map its I/O space without verifying
whether or not the result of platform_get_resource() is NULL. Make the
driver check that platform_get_resource did not return NULL before
attempting to use the value returned to map an I/O space.

Signed-off-by: Geordan Neukum <gneukum1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/kpc2000/kpc2000_i2c.c

index e4bbb91..452052b 100644 (file)
@@ -587,6 +587,9 @@ static int pi2c_probe(struct platform_device *pldev)
        priv->adapter.algo = &smbus_algorithm;
 
        res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
+       if (!res)
+               return -ENXIO;
+
        priv->smba = (unsigned long)ioremap_nocache(res->start, resource_size(res));
 
        platform_set_drvdata(pldev, priv);