grub/grub-core
Jeremy Szu 012fe7f055 loader/i386/linux: Fix initrd maximum address overflow
The current i386 initrd is limited under 1 GiB memory and it works with
most compressed initrds (also initrd_addr_max case reported by kernel).

addr = (addr_max - aligned_size) & ~0xFFF;

Above line is used to calculate the reasonable address to store the initrd.

However, if initrd size is greater than 1 GiB or initrd_addr_max, then it
will get overflow, especially on x86_64 arch.

Therefore, add a check point to prevent it overflows as well as having
a debug log for complex story of initrd addresses.

Signed-off-by: Jeremy Szu <jeremy.szu@canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-12-07 23:38:26 +01:00
..
2022-12-07 23:38:26 +01:00
2022-03-14 15:46:38 +01:00
2022-03-14 16:00:27 +01:00
2022-11-14 20:24:39 +01:00
2017-08-14 16:27:10 +02:00
2017-05-03 12:49:31 +02:00
2017-05-03 12:49:31 +02:00