From: Peter Korsgaard Date: Tue, 28 Oct 2008 07:26:52 +0000 (+0100) Subject: fdt_resize(): ensure minimum padding X-Git-Tag: v2009.01-rc1~101^2~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f242a08871839eac081ba5b599af979f3a148a0d;p=oweals%2Fu-boot.git 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 Acked-by: Andy Fleming --- diff --git a/common/fdt_support.c b/common/fdt_support.c index d483d66f11..5a83bca481 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);