Re: question regarding drivers/staging/iio/adc/ad7280a.c

From: Lars-Peter Clausen
Date: Wed Jul 16 2014 - 07:14:29 EST


On 07/15/2014 07:31 PM, Jonathan Cameron wrote:
On 14/07/14 21:31, Himangi Saraogi wrote:
Hi,

The code seems to have a memory leak. The function ad7280_attr_init
calls kasprintf a number of times, which calls kmalloc (or more
precisely kmalloc_track_caller), but this data does not ever seem to
be freed. I propose to introduce a devm_ version of kasprintf, which
will be useful for other files also. I am not very sure that will it
be useful to introduce a bunch of kfrees, just to remove the memory
leaks immediately, but I think it would be safer just to devm
everything, so then one is sure that everything is freed as it should
be, in the right order.

The question here is whether such a memory leak squashing would be
worth applying to stable. Personally I'd go with no. In which case
feel free to fix it via the introduction of a devm version.

devm is probably fine here.

The long term fix should be to switch the driver to use iio_chan_spec_ext_info infrastructure which will handle the allocation and freeing internally in the IIO framework.

- Lars

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/