[PATCH] kvx: exclude dtb from malloc zone

Clément Leger cleger at kalray.eu
Mon Aug 3 02:51:42 EDT 2020


Hi Sascha,

----- On 11 Jul, 2020, at 12:19, Clément Leger cleger at kalray.eu wrote:

> Hi Sascha
> 
> ----- On 11 Jul, 2020, at 06:41, Sascha Hauer s.hauer at pengutronix.de wrote:
> 
>> Hi Clement,
>> 
>> On Thu, Jul 09, 2020 at 10:22:04PM +0200, Clement Leger wrote:
>>> When dtb is provided by the FSBL (first stage bootloader), it might
>>> end up in the malloc zone initialized by barebox. While the dtb is
>>> discarded after being unflatten, if the dtb is provided right after
>>> barebox elf, then the malloc can overwrite it while unflattening it when
>>> allocating nodes.
>>> To avoid that, exclude the dtb from the malloc zone by checking if it
>>> overlaps it. If so, determine the largest zone for the allocation and
>>> modify the memory area to use that.
>> 
>> Isn't there some safe place where the dtb can be copied to? Making the
>> malloc area smaller seems a bit wasteful.
> 
> Currently, the FSBL now always put the dtb after the barebox elf which lead
> to a minimal impact on the malloc zone (~3Gib) malloc area since barebox runs
> in DDR.
> 
> We could reserve some space in barebox to recopy the dtb early after boot
> before setting up the malloc. However, what size should it be to accomodate
> all devices trees ? We could also copy it in smem but since the kvx barebox
> port is memory agnostic (ie can run in either SMEM or DDR), I'm not sure
> this is future proof.
> Do you have any other idea ?

Do you have any additionnal comments on this one ?

Thanks,

Clément

> 
> Thanks,
> 
> Clément
> 
>> 
>> Sascha
>> 
>> --
>> Pengutronix e.K.                           |                             |
>> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
>> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
>> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox



More information about the barebox mailing list