[PATCH] cpu: imx8_cpu: Avoid revision to corrupt device tree

Peng Fan peng.fan at nxp.com
Thu Oct 17 05:14:46 CEST 2024


> Subject: Re: [PATCH] cpu: imx8_cpu: Avoid revision to corrupt device
> tree
> 
> On Fri, Oct 11, 2024 at 06:58:27PM +0800, Peng Fan (OSS) wrote:
> 
> > From: Peng Fan <peng.fan at nxp.com>
> >
> > U-Boot device tree is padded just after U-Boot proper. After the
> whole
> > stuff loaded to DRAM space, the device tree area is conflict with BSS
> > region before U-Boot relocation. So any write to BSS area before
> > reloc_fdt will corrupt the device tree. Without the fix, there is
> > issue that “binman_init failed:-2” on i.MX8MP-EVK board.
> >
> > Move the variable to data section to fix the issue
> >
> > Signed-off-by: Peng Fan <peng.fan at nxp.com>
> > ---
> >  drivers/cpu/imx8_cpu.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c index
> > 6c0a8c0cbe4..19c65c7ce47 100644
> > --- a/drivers/cpu/imx8_cpu.c
> > +++ b/drivers/cpu/imx8_cpu.c
> > @@ -71,7 +71,7 @@ static const char *get_imx_type_str(u32
> imxtype)
> >
> >  static const char *get_imx_rev_str(u32 rev)  {
> > -	static char revision[4];
> > +	static char revision[4] __section(".data");
> 
> After my last mail, I pulled up the patch itself and started looking at the
> driver. Why is "revision" being done like this? This is not a good
> common practice.

Since the function returns a pointer to a string, so ...
We could move it to malloc area.

Regards,
Peng.

> 
> --
> Tom


More information about the U-Boot mailing list