git: 403c7ef8e853 - stable/14 - imgact_elf: Export __elfN(parse_notes)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 19 Feb 2024 16:45:19 UTC
The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=403c7ef8e853544227fc18d41fed6a019d26cc52 commit 403c7ef8e853544227fc18d41fed6a019d26cc52 Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2023-11-01 15:18:12 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2024-02-19 13:12:51 +0000 imgact_elf: Export __elfN(parse_notes) This is useful to check if a note is present and contains an expected value, e.g. to read NT_GNU_PROPERTY_TYPE_0 on arm64 to see if we should enable BTI. Reviewed by: kib, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42439 (cherry picked from commit a04633cef81e3b29da4eb214331bd472fc2e9238) --- sys/kern/imgact_elf.c | 2 +- sys/sys/imgact_elf.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 0b22e113b3d7..23ddf3ac717a 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -2704,7 +2704,7 @@ __elfN(note_procstat_auxv)(void *arg, struct sbuf *sb, size_t *sizep) } #define MAX_NOTES_LOOP 4096 -static bool +bool __elfN(parse_notes)(struct image_params *imgp, Elf_Note *checknote, const char *note_vendor, const Elf_Phdr *pnote, bool (*cb)(const Elf_Note *, void *, bool *), void *cb_arg) diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index 7210fc2187a9..51e149476a28 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -123,6 +123,9 @@ void __elfN(prepare_notes)(struct thread *, struct note_info_list *, void __elfN(size_segments)(struct thread *, struct sseg_closure *, int); size_t __elfN(register_note)(struct thread *, struct note_info_list *, int, outfunc_t, void *); +bool __elfN(parse_notes)(struct image_params *, Elf_Note *, const char *, + const Elf_Phdr *, bool (*)(const Elf_Note *, void *, bool *), + void *); /* Machine specific function to dump per-thread information. */ void __elfN(dump_thread)(struct thread *, void *, size_t *);