summaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/eboot.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2020-01-03 12:39:34 +0100
committerIngo Molnar <mingo@kernel.org>2020-01-10 18:55:01 +0100
commit12dc9e154dbe18db337c9f7e4b1d40128e675f0f (patch)
treee9007e2cdfb006374b268b796efc142eaab79927 /arch/x86/boot/compressed/eboot.c
parent57ad87ddce79b6d54f8e442d0ecf4b5bbe8c5a9e (diff)
downloadlinux-stable-12dc9e154dbe18db337c9f7e4b1d40128e675f0f.tar.gz
linux-stable-12dc9e154dbe18db337c9f7e4b1d40128e675f0f.tar.bz2
linux-stable-12dc9e154dbe18db337c9f7e4b1d40128e675f0f.zip
efi/libstub: Fix boot argument handling in mixed mode entry code
The mixed mode refactor actually broke mixed mode by failing to pass the bootparam structure to startup_32(). This went unnoticed because it apparently has a high tolerance for being passed random junk, and still boots fine in some cases. So let's fix this by populating %esi as required when entering via efi32_stub_entry, and while at it, preserve the arguments themselves instead of their address in memory (via the stack pointer) since that memory could be clobbered before we get to it. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Arvind Sankar <nivedita@alum.mit.edu> Cc: Matthew Garrett <mjg59@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: https://lkml.kernel.org/r/20200103113953.9571-2-ardb@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/boot/compressed/eboot.c')
0 files changed, 0 insertions, 0 deletions