objtool: Propagate elf_truncate_section() error in elf_write()

Properly check and propagate the return value of elf_truncate_section()
to avoid silent failures.

Acked-by: Petr Mladek <pmladek@suse.com>
Tested-by: Joe Lawrence <joe.lawrence@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
This commit is contained in:
Josh Poimboeuf 2025-09-17 09:03:23 -07:00
parent 9ebb662fab
commit 2bb23cbf3f

View File

@ -1307,7 +1307,6 @@ static int elf_truncate_section(struct elf *elf, struct section *sec)
for (;;) {
/* get next data descriptor for the relevant section */
data = elf_getdata(s, data);
if (!data) {
if (size) {
ERROR("end of section data but non-zero size left\n");
@ -1343,8 +1342,8 @@ int elf_write(struct elf *elf)
/* Update changed relocation sections and section headers: */
list_for_each_entry(sec, &elf->sections, list) {
if (sec->truncate)
elf_truncate_section(elf, sec);
if (sec->truncate && elf_truncate_section(elf, sec))
return -1;
if (sec_changed(sec)) {
s = elf_getscn(elf->elf, sec->idx);