From c0a9f534782776a290074bdf4ddd434e55dd7232 Mon Sep 17 00:00:00 2001 From: Matthew Daley Date: Wed, 7 Nov 2018 11:44:08 +1300 Subject: [PATCH] mkimage: Pad DTBs to target-specific pointer size Device tree (DTB) lengths are being padded to a multiple of 4 bytes rather than the target-specific pointer size. This causes objects following OBJ_TYPE_DTB objects to be incorrectly parsed during GRUB execution on arm64. Fix by using ALIGN_ADDR(), not ALIGN_UP(). Signed-by-off: Matthew Daley Reviewed-by: Daniel Kiper --- util/mkimage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/mkimage.c b/util/mkimage.c index e22d82afa..b2f43fea6 100644 --- a/util/mkimage.c +++ b/util/mkimage.c @@ -829,7 +829,7 @@ grub_install_generate_image (const char *dir, const char *prefix, if (dtb_path) { - dtb_size = ALIGN_UP(grub_util_get_image_size (dtb_path), 4); + dtb_size = ALIGN_ADDR(grub_util_get_image_size (dtb_path)); total_module_size += dtb_size + sizeof (struct grub_module_header); }