[U-Boot] [PATCH] 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 atleast adds that much padding, no matter what the location or size of the fdt is.
Signed-off-by: Peter Korsgaard jacmet@sunsite.dk --- common/fdt_support.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c index 8ceeb0f..e2197ed 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -575,9 +575,10 @@ int fdt_resize(void *blob) } }
- /* Calculate the actual size of the fdt */ + /* Calculate the actual size of the fdt + + 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);

Peter Korsgaard wrote:
fdt_add_mem_rsv() requires space for a struct fdt_reserve_entry (16 bytes), so make sure that fdt_resize atleast adds that much
s/atleast/at least/
padding, no matter what the location or size of the fdt is.
Signed-off-by: Peter Korsgaard jacmet@sunsite.dk
common/fdt_support.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c index 8ceeb0f..e2197ed 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -575,9 +575,10 @@ int fdt_resize(void *blob) } }
- /* Calculate the actual size of the fdt */
- /* Calculate the actual size of the fdt
+ size needed for fdt_add_mem_rsv */
Please use coding standard multiline comments: /* * 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);
Thanks, gvb

"Jerry" == Jerry Van Baren gvb.uboot@gmail.com writes:
Hi,
Jerry> Please use coding standard multiline comments: Jerry> /* Jerry> * Calculate the actual size of the fdt Jerry> * plus the size needed for fdt_add_mem_rsv Jerry> */
Thanks, will fix and respin.
participants (2)
-
Jerry Van Baren
-
Peter Korsgaard