Pierre-Alexandre Meyer
2009-Mar-12 19:43 UTC
[syslinux] [PATCH 1/1] linux.c32: Fix initrd alignment
Impact: None. The end of memory needs to be page aligned: if the initrd expands beyond it, Linux kernels won't be able to access the last few bytes. Signed-off-by: Pierre-Alexandre Meyer <pierre at mouraf.org> --- com32/lib/syslinux/load_linux.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c index b772056..d09a2cb 100644 --- a/com32/lib/syslinux/load_linux.c +++ b/com32/lib/syslinux/load_linux.c @@ -292,7 +292,7 @@ int syslinux_boot_linux(void *kernel_buf, size_t kernel_size, addr_t adj_start = (ml->start+align_mask) & ~align_mask; if (ml->type == SMT_FREE && ml->next->start - adj_start >= irf_size) - best_addr = (ml->next->start - irf_size) & ~align_mask; + best_addr = ((ml->next->start & ~align_mask) - irf_size) & ~align_mask; } if (!best_addr) -- 1.5.4.3