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

