mbox series

[0/3] Relocate GOT before calling EFI stub

Message ID 20200107135500.644618-1-nivedita@alum.mit.edu
Headers show
Series Relocate GOT before calling EFI stub | expand

Message

Arvind Sankar Jan. 7, 2020, 1:54 p.m. UTC
This series performs GOT relocation before calling into C code for the
EFI stub. While the stub does not currently require GOT relocation, it's
quite easy to introduce code that will use the GOT on old toolchains,
but not recent ones, which can lead to unexpected issues.

This is based on
https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/log/?h=next

with commit 4169bb99cd70 ("efi/libstub/x86: use mandatory 16-byte stack
alignment in mixed mode") reverted, as it caused a crash in mixed mode.

Arvind Sankar (3):
  x86/boot/compressed/64: Make adjust_got easier to use repeatedly
  x86/boot/compressed/32: Allow adjust_got to be called repeatedly
  x86/boot: Perform GOT relocation before calling EFI stub

 arch/x86/boot/compressed/eboot.c   |  4 +-
 arch/x86/boot/compressed/head_32.S | 65 +++++++++++++++++++++----
 arch/x86/boot/compressed/head_64.S | 76 +++++++++++++++++-------------
 3 files changed, 99 insertions(+), 46 deletions(-)