]> git.baikalelectronics.ru Git - kernel.git/commit
efi: Disable interrupts around EFI calls, not in the epilog/prolog calls
authorIngo Molnar <mingo@kernel.org>
Tue, 3 Mar 2015 06:34:33 +0000 (07:34 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Wed, 1 Apr 2015 11:46:22 +0000 (12:46 +0100)
commit56f539217ece5b92fd56c03185763b4309f03b0c
treea39fccdee6dc1a89756331aac0c4db066060e96c
parent1823e2ae6ec51abeaaaa2c91a337085308e2815e
efi: Disable interrupts around EFI calls, not in the epilog/prolog calls

Tapasweni Pathak reported that we do a kmalloc() in efi_call_phys_prolog()
on x86-64 while having interrupts disabled, which is a big no-no, as
kmalloc() can sleep.

Solve this by removing the irq disabling from the prolog/epilog calls
around EFI calls: it's unnecessary, as in this stage we are single
threaded in the boot thread, and we don't ever execute this from
interrupt contexts.

Reported-by: Tapasweni Pathak <tapaswenipathak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/platform/efi/efi.c
arch/x86/platform/efi/efi_32.c
arch/x86/platform/efi/efi_64.c