Skip to contentSkip to conversation

iio: inkern: fix a NULL dereference on error

PATCH Applied Dan Carpenter 2 participants 2 messages Jan 26, 2016 – Jan 30, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 iio: inkern: fix a NULL dereference on error

In twl4030_bci_probe() there are some failure paths where we call iio_channel_release() with a NULL pointer. (Apparently, that driver can opperate without a valid channel pointer). Let's fix it by adding a NULL check in iio_channel_release().

Fixes 2202e1fc5a29 ('drivers: power: twl4030_charger: fix link problems when building as module')
drivers/iio/inkern.c +2 -0
index 80fbbfd..734a004 100644
@@ -349,6 +349,8 @@ EXPORT_SYMBOL_GPL(iio_channel_get);
 
 void iio_channel_release(struct iio_channel *channel)
 {
+	if (!channel)
+		return;
 	iio_device_put(channel->indio_dev);
 	kfree(channel);
 }
maintainer Applied
#1 lore raw
Quoted 8 lines · Dan Carpenter

In twl4030_bci_probe() there are some failure paths where we call iio_channel_release() with a NULL pointer. (Apparently, that driver can opperate without a valid channel pointer). Let's fix it by adding a NULL check in iio_channel_release().

Fixes 2202e1fc5a29 ('drivers: power: twl4030_charger: fix link problems when building as module')

Whilst I'd prefer to see the driver calling this have balanced calls, I can see that having this sanity check in here is probably sensible.

Applied to the fixes-togreg tree and marked for stable.

Jonathan

Quoted 18 lines
drivers/iio/inkern.c +2 -1
index 80fbbfd..734a004 100644
@@ -349,6 +349,8 @@ EXPORT_SYMBOL_GPL(iio_channel_get);
 
 void iio_channel_release(struct iio_channel *channel)
 {
+	if (!channel)
+		return;
 	iio_device_put(channel->indio_dev);
 	kfree(channel);
 }
--

To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html