diff options
author | Mark Johnston <markjdb@gmail.com> | 2021-03-16 19:01:41 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2021-03-16 19:01:41 +0000 |
commit | 7b1b5aad95df671aba3192f1669a8d96da481939 (patch) | |
tree | 3f58652e754661eeea0d6b6c6b574c8593db00b7 | |
parent | 4aa157dd5b4e72b85dd07ce3c106b742ca371bca (diff) | |
download | src-7b1b5aad95df671aba3192f1669a8d96da481939.tar.gz src-7b1b5aad95df671aba3192f1669a8d96da481939.zip |
stand: Load INIT_ARRAY and FINI_ARRAY sections
This is required for preloading modules into a KASAN-configured kernel.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | stand/common/load_elf_obj.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/stand/common/load_elf_obj.c b/stand/common/load_elf_obj.c index 4bff74764922..78ece02433c6 100644 --- a/stand/common/load_elf_obj.c +++ b/stand/common/load_elf_obj.c @@ -264,6 +264,8 @@ __elfN(obj_loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) #if defined(__i386__) || defined(__amd64__) case SHT_X86_64_UNWIND: #endif + case SHT_INIT_ARRAY: + case SHT_FINI_ARRAY: if ((shdr[i].sh_flags & SHF_ALLOC) == 0) break; lastaddr = roundup(lastaddr, shdr[i].sh_addralign); |