Date: Wed, 15 Jul 2026 15:04:14 +0000 From: Mark Johnston <markj@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 4b0ae7e001a9 - main - stand: Recognize SHT_INIT_ARRAY sections as constructor sections Message-ID: <6a57a16e.18312.5285197f@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4b0ae7e001a97e5449835bb8a2e6c2e6f53aac39 commit 4b0ae7e001a97e5449835bb8a2e6c2e6f53aac39 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2026-07-15 14:58:32 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2026-07-15 14:58:32 +0000 stand: Recognize SHT_INIT_ARRAY sections as constructor sections Pass such a section to the kernel using modinfo, otherwise link_elf.c won't execute constructors for the file. This is required for KASAN, otherwise redzones for global buffers are not poisoned during boot. Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58244 --- stand/common/load_elf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index a6ea60c74b84..1c4efb8c4156 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -726,7 +726,8 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_t ef, uint64_t off) if (shstr) { for (i = 0; i < ehdr->e_shnum; i++) { if (strcmp(shstr + shdr[i].sh_name, - ".ctors") != 0) + ".ctors") != 0 && + shdr[i].sh_type != SHT_INIT_ARRAY) continue; ctors = shdr[i].sh_addr; file_addmetadata(fp, MODINFOMD_CTORS_ADDR,home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a57a16e.18312.5285197f>
