On Wed, May 17, 2017 at 1:51 AM, Johan Hovold <[email protected]> wrote:
> On Tue, May 16, 2017 at 02:28:28PM -0700, Andrey Smirnov wrote:
>> On Tue, May 16, 2017 at 6:44 AM, Johan Hovold <[email protected]> wrote:
>> > Make sure to deregister and release the nvmem device and underlying
>> > memory on registration errors.
>> >
>> > Note that the private data must be freed using put_device() once the
>> > struct device has been initialised.
>> >
>> > Also note that there's a related reference leak in the deregistration
>> > function as reported by Mika Westerberg which is being fixed separately.
>> >
>> > Fixes: b6c217ab9be6 ("nvmem: Add backwards compatibility support for older 
>> > EEPROM drivers.")
>> > Fixes: eace75cfdcf7 ("nvmem: Add a simple NVMEM framework for nvmem 
>> > providers")
>> > Cc: stable <[email protected]>     # 4.3
>> > Cc: Andrew Lunn <[email protected]>
>> > Cc: Srinivas Kandagatla <[email protected]>
>> > Cc: Mika Westerberg <[email protected]>
>> > Signed-off-by: Johan Hovold <[email protected]>
>> > ---
>>
>> I submitted identical patch to fix this about a month ago here:
>>
>> lkml.kernel.org/r/[email protected]
>
> Oh, and you fixed up both the registration and deregistration leaks in
> your series too. Looks like the maintainer is on vacation now so perhaps
> we'll see a third independent fix for these bugs soon. ;)
>

Heh, let's hope not :-)

> As for your series, I prefer this version for nvmem_register due to the
> difference in error label naming (named after what they do rather than
> where they are used), but as I also mentioned to Mika, I think just
> adding the missing put_device to nvmem_unregister as you did is
> preferred.
>
> But the important thing is that this gets fixed.
>

Yup, agreed, as long a version of both fixes ends up being applied
it's all good.

Thanks,
Andrey

Reply via email to