[PATCH] mtd: spi: Add missing free in sf_get_bootflow

Tom Rini trini at konsulko.com
Tue Dec 9 15:17:06 CET 2025


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).

-- 
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/20251209/89ba3d74/attachment.sig>


More information about the U-Boot mailing list