mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
efi: Clear EFI_RUNTIME_SERVICES rather than EFI_BOOT by "noefi" boot parameter
There was a serious problem in samsung-laptop that its platform driver is designed to run under BIOS and running under EFI can cause the machine to become bricked or can cause Machine Check Exceptions. Discussion about this problem: https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557 https://bugzilla.kernel.org/show_bug.cgi?id=47121 The patches to fix this problem: efi: Make 'efi_enabled' a function to query EFI facilities83e6818974
samsung-laptop: Disable on EFI hardwaree0094244e4
Unfortunately this problem comes back again if users specify "noefi" option. This parameter clears EFI_BOOT and that driver continues to run even if running under EFI. Refer to the document, this parameter should clear EFI_RUNTIME_SERVICES instead. Documentation/kernel-parameters.txt: =============================================================================== ... noefi [X86] Disable EFI runtime services support. ... =============================================================================== Documentation/x86/x86_64/uefi.txt: =============================================================================== ... - If some or all EFI runtime services don't work, you can try following kernel command line parameters to turn off some or all EFI runtime services. noefi turn off all EFI runtime services ... =============================================================================== Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Link: http://lkml.kernel.org/r/511C2C04.2070108@jp.fujitsu.com Cc: Matt Fleming <matt.fleming@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
323a72d83c
commit
1de63d60cd
@ -87,7 +87,7 @@ EXPORT_SYMBOL(efi_enabled);
|
||||
|
||||
static int __init setup_noefi(char *arg)
|
||||
{
|
||||
clear_bit(EFI_BOOT, &x86_efi_facility);
|
||||
clear_bit(EFI_RUNTIME_SERVICES, &x86_efi_facility);
|
||||
return 0;
|
||||
}
|
||||
early_param("noefi", setup_noefi);
|
||||
|
Loading…
Reference in New Issue
Block a user