[U-Boot] libfdt: make fdt_increase_size() available to everyone

Timur Tabi
2010-05-16T04:13:13Z

On Sat, May 15, 2010 at 9:11 PM, Gerald Van Baren <gvb.uboot@gmail.com> wrote:

> The code has one pre-existing weakness that bothers me: if there is
> something following the FDT blob, it will get overwritten by the
> increased blob. ?One way around this would be to malloc() a new memory
> space and move and expand the blob to the new space. ?The first time
> this was done, the original blob should not be free()ed since it wasn't
> malloc()ed, but the second and subsequent times it should be free()ed.

But then how does the caller know where the new blob is? When I call
fdt_increase_size(), I pass it the address of a blob that I'm
modifying. After the function returns, my value of 'fdt' is no longer
valid.

> I've added this to your patch, but have *NOT* execution tested it. ?Does
> this addition (a) make sense and (b) work?

I was expecting the caller of fdt_increase_size() to know that the
space after the fdt is available.

--
Timur Tabi
Linux kernel developer at Freescale