git: 409ab7e109c6 - main - imgact_elf: Ensure that the return value in parse_notes is initialized

Mark Johnston markj at FreeBSD.org
Mon Apr 26 18:55:33 UTC 2021


The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=409ab7e109c692014e3484a74af248dd7a4746e8

commit 409ab7e109c692014e3484a74af248dd7a4746e8
Author:     Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-04-26 18:53:16 +0000
Commit:     Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-04-26 18:53:16 +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
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D29986
---
 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 245894926ee1..c4aedbe6bbfa 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -2736,6 +2736,7 @@ note_fctl_cb(const Elf_Note *note, void *arg0, boolean_t *res)
 	desc = (const Elf32_Word *)p;
 	*arg->has_fctl0 = TRUE;
 	*arg->fctl0 = desc[0];
+	*res = TRUE;
 	return (TRUE);
 }
 


More information about the dev-commits-src-all mailing list