efi: Check EFI revision in setup_efi_vars
authorJosh Boyer <jwboyer@redhat.com>
Wed, 24 Apr 2013 15:16:52 +0000 (11:16 -0400)
committerMatt Fleming <matt.fleming@intel.com>
Wed, 24 Apr 2013 15:19:01 +0000 (16:19 +0100)
commitf697036b93aa7345d4cbb3c854a76456c0ddac45
tree37348e15c237d88ed2accce23e3372585eac4969
parent51f8fbba64e58ee611c58f15a00b7611e13a0460
efi: Check EFI revision in setup_efi_vars

We need to check the runtime sys_table for the EFI version the firmware
specifies instead of just checking for a NULL QueryVariableInfo.  Older
implementations of EFI don't have QueryVariableInfo but the runtime is
a smaller structure, so the pointer to it may be pointing off into garbage.

This is apparently the case with several Apple firmwares that support EFI
1.10, and the current check causes them to no longer boot.  Fix based on
a suggestion from Matthew Garrett.

Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/boot/compressed/eboot.c