[PATCH 22/24] staging/iio/light: fix dangling pointers

Jonathan Cameron kernel at jic23.retrosnub.co.uk
Mon Mar 22 05:41:42 PDT 2010


On 03/20/10 14:13, Wolfram Sang wrote:
> Fix I2C-drivers which missed setting clientdata to NULL before freeing the
> structure it points to. Also fix drivers which do this _after_ the structure
> was freed already.
> 
> Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
> Cc: Greg Kroah-Hartman <gregkh at suse.de>

Acked-by: Jonathan Cameron <jic23 at cam.ac.uk>

Thanks for this one as well!
> ---
> 
> Found using coccinelle, then reviewed. Full patchset is available via
> kernel-janitors, linux-i2c, and LKML.
> ---
>  drivers/staging/iio/light/tsl2563.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c
> index 78b9432..286559d 100644
> --- a/drivers/staging/iio/light/tsl2563.c
> +++ b/drivers/staging/iio/light/tsl2563.c
> @@ -681,6 +681,7 @@ static int __devinit tsl2563_probe(struct i2c_client *client,
>  fail2:
>  	iio_device_unregister(chip->indio_dev);
>  fail1:
> +	i2c_set_clientdata(client, NULL);
>  	kfree(chip);
>  	return err;
>  }
> @@ -691,6 +692,7 @@ static int tsl2563_remove(struct i2c_client *client)
>  
>  	iio_device_unregister(chip->indio_dev);
>  
> +	i2c_set_clientdata(client, NULL);
>  	kfree(chip);
>  	return 0;
>  }



More information about the devel mailing list