:: commit fe647a067f310caaa7c8fb9acaa85d84bc78f043

mintsuki <mintsuki@protonmail.com> — 2022-09-11 21:07

parents: 831af39ed4

elf: Fix issue where KASLR was applied to non reloc executables

diff --git a/common/lib/elf.c b/common/lib/elf.c
index ea1c33a7..321b5411 100644
--- a/common/lib/elf.c
+++ b/common/lib/elf.c
@@ -486,7 +486,7 @@ bool elf64_load(uint8_t *elf, uint64_t *entry_point, uint64_t *_slide, uint32_t
     }
 
 again:
-    if (kaslr) {
+    if (*is_reloc && kaslr) {
         slide = rand32() & ~(max_align - 1);
 
         if ((*virtual_base - FIXED_HIGHER_HALF_OFFSET_64) + slide + image_size >= 0x80000000) {
tab: 248 wrap: offon