diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2008-10-28 08:26:52 +0100 |
---|---|---|
committer | Gerald Van Baren <vanbaren@cideas.com> | 2008-10-30 20:37:57 -0400 |
commit | f242a08871839eac081ba5b599af979f3a148a0d (patch) | |
tree | 09291b8dcba7c1844a00d701f96e4c6d7060867a /common | |
parent | d685b74c64a38849f1a129b3ab846fbf67dd937e (diff) |
fdt_resize(): ensure minimum padding
fdt_add_mem_rsv() requires space for a struct fdt_reserve_entry
(16 bytes), so make sure that fdt_resize at least adds that much
padding, no matter what the location or size of the fdt is.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/fdt_support.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/common/fdt_support.c b/common/fdt_support.c index d483d66f11d..5a83bca4817 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -602,9 +602,12 @@ int fdt_resize(void *blob) } } - /* Calculate the actual size of the fdt */ + /* + * Calculate the actual size of the fdt + * plus the size needed for fdt_add_mem_rsv + */ actualsize = fdt_off_dt_strings(blob) + - fdt_size_dt_strings(blob); + fdt_size_dt_strings(blob) + sizeof(struct fdt_reserve_entry); /* Make it so the fdt ends on a page boundary */ actualsize = ALIGN(actualsize, 0x1000); |