diff options
author | Mark Johnston <markjdb@gmail.com> | 2021-03-16 19:01:41 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2021-10-08 05:24:28 +0000 |
commit | 687f0a1b588f9d2a06518528d93890e362e0c699 (patch) | |
tree | b0ecb8f8385ff1db2ff5f7f1f6fc9282ccc3dade | |
parent | 2b22b85e58e356344ab7be2001b098b98187c781 (diff) | |
download | src-687f0a1b588f9d2a06518528d93890e362e0c699.tar.gz src-687f0a1b588f9d2a06518528d93890e362e0c699.zip |
stand: Load INIT_ARRAY and FINI_ARRAY sections
This is required for preloading modules into a KASAN-configured kernel.
(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 7df88678a015..f3c84cf31368 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); |