From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Tue, 28 Oct 2008 20:26:38 -0400 Subject: [U-Boot] [PATCH] fdt_resize(): ensure minimum padding In-Reply-To: <1225178812-22435-1-git-send-email-jacmet@sunsite.dk> References: <1225178812-22435-1-git-send-email-jacmet@sunsite.dk> Message-ID: <4907ADBE.9000509@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Peter Korsgaard wrote: > 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 > --- > 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 8ceeb0f..138334e 100644 > --- a/common/fdt_support.c > +++ b/common/fdt_support.c > @@ -575,9 +575,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); Applied to the u-boot-fdt subrepo. Thanks, gvb