summaryrefslogtreecommitdiff
path: root/arch/alpha
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2019-02-11 12:19:45 +0100
committerBorislav Petkov <bp@suse.de>2019-02-13 12:19:05 +0100
commitf9d230e893e864f13ce5ded9a49990fd024bfed5 (patch)
tree050b669cf3e2bb57408ff6c69cbc32733b959cb5 /arch/alpha
parentccec81e4251f5a5421e02874e394338a897056ca (diff)
downloadlwn-f9d230e893e864f13ce5ded9a49990fd024bfed5.tar.gz
lwn-f9d230e893e864f13ce5ded9a49990fd024bfed5.zip
x86/boot: Correct RSDP parsing with 32-bit EFI
Guenter Roeck reported triple faults of a 64-bit VM using a 32-bit OVMF EFI image. After some singlestepping of the image in gdb, it turned out that some of the EFI config tables were at bogus addresses. Which, as Ard pointed out, results from using the wrong efi_config_table typedef. So switch all EFI table pointers to unsigned longs and convert them to the proper typedef only when accessing them. This way, the proper table type is being used. Shorten variable names, while at it. Fixes: 33f0df8d843d ("x86/boot: Search for RSDP in the EFI tables") Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Borislav Petkov <bp@suse.de> Tested-by: Chao Fan <fanc.fnst@cn.fujitsu.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: bhe@redhat.com Cc: caoj.fnst@cn.fujitsu.com Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: indou.takao@jp.fujitsu.com Cc: Ingo Molnar <mingo@redhat.com> Cc: kasong@redhat.com Cc: Kees Cook <keescook@chromium.org> Cc: msys.mizuma@gmail.com Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86-ml <x86@kernel.org> Link: https://lkml.kernel.org/r/20190208190248.GA10854@roeck-us.net
Diffstat (limited to 'arch/alpha')
0 files changed, 0 insertions, 0 deletions