]> git.ipfire.org Git - thirdparty/grub.git/commit
modules: Don't allocate space for non-allocable sections
authorPeter Jones <pjones@redhat.com>
Wed, 9 Oct 2024 08:16:38 +0000 (09:16 +0100)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 10 Oct 2024 11:23:19 +0000 (13:23 +0200)
commit6e2fe134ef536b178a8ae16d68fd2f55625c08fb
treeadba0188a53cf99f6d92991f4770d8869ac6c04a
parent2b79d550f331b7d275da7994eaf4d774a5abb5b3
modules: Don't allocate space for non-allocable sections

Currently when loading GRUB modules we allocate space for all sections
including those without SHF_ALLOC set. We then copy the sections that
/do/ have SHF_ALLOC set into the allocated memory leaving some of our
allocation untouched forever. Additionally, on platforms with GOT fixups
and trampolines we currently compute alignment round-ups for the
sections and sections with sh_size = 0. This patch removes the extra
space from the allocation computation and makes the allocation
computation loop skip empty sections as the loading loop does.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
Signed-off-by: Mate Kukri <mate.kukri@canonical.com>
Reviewed-By: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/kern/dl.c