[PATCH] mtd: spi: Add missing free in sf_get_bootflow
Tom Rini
trini at konsulko.com
Fri Feb 13 17:56:58 CET 2026
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 <fberder at outlook.fr>
> > > ---
> > > 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.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260213/aaca0bd5/attachment.sig>
More information about the U-Boot
mailing list