diff options
author | Michal Kubecek <mkubecek@suse.cz> | 2023-06-29 12:05:05 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2023-07-10 09:52:28 +0200 |
commit | 9f71fbcde2820f2af4658313e808cf1e579190a4 (patch) | |
tree | 62dd02880590bbae690e95f95a5ced27a0cb2617 /tools | |
parent | 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5 (diff) | |
download | lwn-9f71fbcde2820f2af4658313e808cf1e579190a4.tar.gz lwn-9f71fbcde2820f2af4658313e808cf1e579190a4.zip |
objtool: initialize all of struct elf
Function elf_open_read() only zero initializes the initial part of
allocated struct elf; num_relocs member was recently added outside the
zeroed part so that it was left uninitialized, resulting in build failures
on some systems.
The partial initialization is a relic of times when struct elf had large
hash tables embedded. This is no longer the case so remove the trap and
initialize the whole structure instead.
Fixes: eb0481bbc4ce ("objtool: Fix reloc_hash size")
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20230629102051.42E8360467@lion.mk-sys.cz
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/elf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c index d420b5d2e2b6..081befa4674b 100644 --- a/tools/objtool/elf.c +++ b/tools/objtool/elf.c @@ -1005,7 +1005,7 @@ struct elf *elf_open_read(const char *name, int flags) perror("malloc"); return NULL; } - memset(elf, 0, offsetof(struct elf, sections)); + memset(elf, 0, sizeof(*elf)); INIT_LIST_HEAD(&elf->sections); |