We should not try to copy any memory area which is outside of the original
fdt. If this extra memory is controlled by a hypervisor this might end
with a crash.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 grub-core/loader/efi/fdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
index a18ca8ccb..ee9c5592c 100644
--- a/grub-core/loader/efi/fdt.c
+++ b/grub-core/loader/efi/fdt.c
@@ -66,7 +66,7 @@ grub_fdt_load (grub_size_t additional_size)
 
   if (raw_fdt)
     {
-      grub_memmove (fdt, raw_fdt, size);
+      grub_memmove (fdt, raw_fdt, size - additional_size);
       grub_fdt_set_totalsize (fdt, size);
     }
   else
-- 
2.19.2


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to