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

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to