:: commit 576669b80e28498bc0f68fecc0f7dc82046eff27

mintsuki <mintsuki@protonmail.com> — 2021-10-31 21:01

parents: 4f77bf373c

elf: Align range lengths to p_align

diff --git a/stage23/lib/elf.c b/stage23/lib/elf.c
index 6398c6ac..6238ab98 100644
--- a/stage23/lib/elf.c
+++ b/stage23/lib/elf.c
@@ -420,7 +420,7 @@ static void elf64_get_ranges(uint8_t *elf, uint64_t slide, bool use_paddr, struc
         uint64_t this_top = load_addr + phdr.p_memsz;
 
         ranges[r].base = load_addr & ~(phdr.p_align - 1);
-        ranges[r].length = ALIGN_UP(this_top - ranges[r].base, 4096);
+        ranges[r].length = ALIGN_UP(this_top - ranges[r].base, phdr.p_align);
         ranges[r].permissions = phdr.p_flags & 0b111;
 
         r++;
tab: 248 wrap: offon