Re: of atmel_pmecc_destroy_user

From: Miquel Raynal
Date: Tue Oct 01 2024 - 16:41:40 EST


Hi,

linux@xxxxxxxxxxx wrote on Tue, 1 Oct 2024 20:37:18 +0000:

> * Boris Brezillon (boris.brezillon@xxxxxxxxxxxxx) wrote:
> > Hi David,
> >
> > On Sun, 29 Sep 2024 17:05:01 +0000
> > "Dr. David Alan Gilbert" <linux@xxxxxxxxxxx> wrote:
> >
> > > Hi Boris and co,
> > > One of my scripts noticed that 'atmel_pmecc_destroy_user'
> > > isn't called anywhere; I was going to delete it, but hmm, I wonder
> > > if it's actually a missing call and leaking (in the unlikely case
> > > the device was ever removed).
> > >
> > > It was added by your:
> > > commit f88fc122cc34c2545dec9562eaab121494e401ef
> > > Author: Boris Brezillon <bbrezillon@xxxxxxxxxx>
> > > Date: Thu Mar 16 09:02:40 2017 +0100
> > >
> > > mtd: nand: Cleanup/rework the atmel_nand driver
> > >
> > > and I see the allocation in:
> > > user = kzalloc(size, GFP_KERNEL);
> > > in
> > > nand->pmecc = atmel_pmecc_create_user(nc->pmecc, &req);
> > > called in atmel_nand_pmecc_init
> > > from atmel_nand_ecc_init
> > > from atmel_hsmc_nand_ecc_init
> > >
> > > But I don't see any freeing.
> > >
> > > (I don't knowingly have hardware to test a fix, although I guess
> > > there's probably one somewhere....)
> > >
> > > Suggestions?
> >
> > There's definitely a leak. I haven't looked at NAND stuff for a while
> > though, so I'll let Miquel advise you on where
> > atmel_pmecc_destroy_user() should be called.
>
> I see Miquel has posted a fix.
>
> Thanks to both of you!

Looks like you've been too fast :) I was waiting for the lore
link to be available, so yes, I looked into it and decided to fix it
this way:

https://lore.kernel.org/linux-mtd/20241001203149.387655-1-miquel.raynal@xxxxxxxxxxx/T/#u

Thanks for the report,
Miquèl