diff options
author | Mark Johnston <markjdb@gmail.com> | 2021-03-16 19:01:41 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2021-03-23 01:32:08 +0000 |
commit | 7cde0b06f94cfa06ca7869a040e753e09b7c2ef0 (patch) | |
tree | 4785047342f0214976923c0979fea2b4494ea3f0 | |
parent | 30e25f930445e1b76d16f3219b627b7b92aa2a42 (diff) | |
download | src-7cde0b06f94cfa06ca7869a040e753e09b7c2ef0.tar.gz src-7cde0b06f94cfa06ca7869a040e753e09b7c2ef0.zip |
stand: Load INIT_ARRAY and FINI_ARRAY sections
This is required for preloading modules into a KASAN-configured kernel.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 7b1b5aad95df671aba3192f1669a8d96da481939)
-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); |