On Fri, Feb 13, 2026 at 10:53:25AM -0700, Simon Glass wrote:
> Hi Tom,
> 
> On Fri, 13 Feb 2026 at 09:57, Tom Rini <[email protected]> wrote:
> >
> > On Tue, Dec 09, 2025 at 08:17:06AM -0600, Tom Rini wrote:
> > > On Tue, Dec 09, 2025 at 12:16:33PM +0200, Tudor Ambarus wrote:
> > > >
> > > >
> > > > On 12/9/25 11:56 AM, Francois Berder wrote:
> > > > > Free buf if spi_flash_read_dm fails.
> > > > >
> > > > > Signed-off-by: Francois Berder <[email protected]>
> > > > > ---
> > > > >  drivers/mtd/spi/sf_bootdev.c | 4 +++-
> > > > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/drivers/mtd/spi/sf_bootdev.c 
> > > > > b/drivers/mtd/spi/sf_bootdev.c
> > > > > index 017a74a3016..720faf51a1f 100644
> > > > > --- a/drivers/mtd/spi/sf_bootdev.c
> > > > > +++ b/drivers/mtd/spi/sf_bootdev.c
> > > > > @@ -35,8 +35,10 @@ static int sf_get_bootflow(struct udevice *dev, 
> > > > > struct bootflow_iter *iter,
> > > > >
> > > > >   ret = spi_flash_read_dm(sf, env_get_hex("script_offset_f", 0),
> > > > >                           size, buf);
> > > > > - if (ret)
> > > > > + if (ret) {
> > > > > +         free(buf);
> > > > >           return log_msg_ret("cmd", -EINVAL);
> > > > > + }
> > > >
> > > >
> > > > can we use a devm alloc method to get rid of the extra free handling?
> > >
> > > No, because this isn't the kernel and devm alloc doesn't always free
> > > here. Making that no longer be the case (always freeing) is on my list
> > > to look at doing (drivers that use devm alloc always implys/select'ing
> > > DEVRES).
> >
> > We've since changed so that devm alloc does behave in U-Boot the same as
> > the kernel (except in xPL phases), so Tudor's suggestion is a good one.
> 
> I still like the idea of having this patch so that others don't hit
> it. Does it show up as a leak on any code-analysis?

I'm unsure what you're suggesting. If we can switch these to devm alloc
functions now that we match the expected API of the linux kernel
(outside of xPL where we don't care about leaks) we don't need to
manually track frees here.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to