x86/efi: Correct EFI boot stub use of code32_start
authorMatt Fleming <matt@console-pimps.org>
Tue, 8 Apr 2014 12:14:00 +0000 (13:14 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Thu, 10 Apr 2014 20:19:52 +0000 (21:19 +0100)
commit7e8213c1f3acc064aef37813a39f13cbfe7c3ce7
tree6a24e3cd7ca9994d165bd38e83567ab546d01a92
parent396f1a08db212138418b38f784e4bbe516d2fdb2
x86/efi: Correct EFI boot stub use of code32_start

code32_start should point at the start of the protected mode code, and
*not* at the beginning of the bzImage. This is much easier to do in
assembly so document that callers of make_boot_params() need to fill out
code32_start.

The fallout from this bug is that we would end up relocating the image
but copying the image at some offset, resulting in what appeared to be
memory corruption.

Reported-by: Thomas Bächler <thomas@archlinux.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/boot/compressed/eboot.c
arch/x86/boot/compressed/head_32.S
arch/x86/boot/compressed/head_64.S