git: 0048a3237ddb - stable/12 - imgact_elf: Ensure that the return value in parse_notes is initialized
Mark Johnston
markj at FreeBSD.org
Mon May 3 12:39:34 UTC 2021
The branch stable/12 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=0048a3237ddbf9b83b44a82d9467d65c646e3289
commit 0048a3237ddbf9b83b44a82d9467d65c646e3289
Author: Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-04-26 18:53:16 +0000
Commit: Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-05-03 12:39:02 +0000
imgact_elf: Ensure that the return value in parse_notes is initialized
parse_notes relies on the caller-supplied callback to initialize "res".
Two callbacks are used in practice, brandnote_cb and note_fctl_cb, and
the latter fails to initialize res. Fix it.
In the worst case, the bug would cause the inner loop of check_note to
examine more program headers than necessary, and the note header usually
comes last anyway.
Reviewed by: kib
Reported by: KMSAN
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29986
(cherry picked from commit 409ab7e109c692014e3484a74af248dd7a4746e8)
---
sys/kern/imgact_elf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 4c05be66e51f..416de09630ae 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -2666,6 +2666,7 @@ note_fctl_cb(const Elf_Note *note, void *arg0, boolean_t *res)
p += roundup2(note->n_namesz, ELF_NOTE_ROUNDSIZE);
desc = (const Elf32_Word *)p;
*arg->fctl0 = desc[0];
+ *res = TRUE;
return (TRUE);
}
More information about the dev-commits-src-all
mailing list