Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc65f1ec authored by H. Peter Anvin's avatar H. Peter Anvin
Browse files

x86 setup: correct segfault in generation of 32-bit reloc kernel



Impact: segfault on build of a 32-bit relocatable kernel

When converting arch/x86/boot/compressed/relocs.c to support unlimited
sections, the computation of sym_strtab in walk_relocs() was done
incorrectly.  This causes a segfault for some people when building the
relocatable 32-bit kernel.

Pointed out by Anonymous <pageexec@freemail.hu>.

Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 95b866d5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -492,7 +492,7 @@ static void walk_relocs(void (*visit)(Elf32_Rel *rel, Elf32_Sym *sym))
			continue;
		}
		sh_symtab = sec_symtab->symtab;
		sym_strtab = sec->link->strtab;
		sym_strtab = sec_symtab->link->strtab;
		for (j = 0; j < sec->shdr.sh_size/sizeof(Elf32_Rel); j++) {
			Elf32_Rel *rel;
			Elf32_Sym *sym;