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

Lars-Peter Clausen lars at metafoo.de
Wed Jul 16 11:14:23 UTC 2014


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



More information about the devel mailing list