Skip to content

Commit 5a58bc1

Browse files
Sai PraneethIngo Molnar
authored andcommitted
efi/x86: Use non-blocking SetVariable() for efi_delete_dummy_variable()
Presently, efi_delete_dummy_variable() uses set_variable() which might block, which the scheduler is rightfully upset about when used from the idle thread, producing this splat: "bad: scheduling from the idle thread!" So, make efi_delete_dummy_variable() use set_variable_nonblocking(), which, as the name suggests, doesn't block. Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/20180711094040.12506-3-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 90a2186 commit 5a58bc1

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

arch/x86/platform/efi/quirks.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,11 @@ early_param("efi_no_storage_paranoia", setup_storage_paranoia);
105105
*/
106106
void efi_delete_dummy_variable(void)
107107
{
108-
efi.set_variable((efi_char16_t *)efi_dummy_name,
109-
&EFI_DUMMY_GUID,
110-
EFI_VARIABLE_NON_VOLATILE |
111-
EFI_VARIABLE_BOOTSERVICE_ACCESS |
112-
EFI_VARIABLE_RUNTIME_ACCESS,
113-
0, NULL);
108+
efi.set_variable_nonblocking((efi_char16_t *)efi_dummy_name,
109+
&EFI_DUMMY_GUID,
110+
EFI_VARIABLE_NON_VOLATILE |
111+
EFI_VARIABLE_BOOTSERVICE_ACCESS |
112+
EFI_VARIABLE_RUNTIME_ACCESS, 0, NULL);
114113
}
115114

116115
/*

0 commit comments

Comments
 (0)