On Wed, May 17, 2017 at 1:51 AM, Johan Hovold <johan@xxxxxxxxxx> 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 <johan@xxxxxxxxxx> 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 <stable@xxxxxxxxxxxxxxx> # 4.3 >> > Cc: Andrew Lunn <andrew@xxxxxxx> >> > Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> >> > Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> >> > Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> >> > --- >> >> I submitted identical patch to fix this about a month ago here: >> >> lkml.kernel.org/r/20170418142454.23921-1-andrew.smirnov@xxxxxxxxx > > 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