Re: [patch] iio: inkern: fix a NULL dereference on error

From: Jonathan Cameron
Date: Sat Jan 30 2016 - 10:40:15 EST


On 26/01/16 09:25, Dan Carpenter wrote:
> 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')
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
>
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
> diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
> index 80fbbfd..734a004 100644
> --- a/drivers/iio/inkern.c
> +++ b/drivers/iio/inkern.c
> @@ -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 majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>