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. -- Tom
signature.asc
Description: PGP signature

