> > void __init efi_enter_virtual_mode(void) diff --git > > a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index > > cd42f66a7c85..838b8efe639c 100644 > > --- a/drivers/firmware/efi/efi.c > > +++ b/drivers/firmware/efi/efi.c > > @@ -328,6 +328,12 @@ static int __init efisubsys_init(void) > > if (!efi_enabled(EFI_BOOT)) > > return 0; > > > > + /* > > + * Clean DUMMY object calls EFI Runtime Service, set_variable(), so > > + * it should be invoked only after efi_rts_workqueue is ready. > > + */ > > + efi_delete_dummy_variable(); > > + > > Is there any way to keep this local to arch/x86? > I think, we can definitely do that. I will retake a look at the possibilities and will update this thread. > > /* We register the efi directory at /sys/firmware/efi */ > > efi_kobj = kobject_create_and_add("efi", firmware_kobj); > > if (!efi_kobj) { > > diff --git a/include/linux/efi.h b/include/linux/efi.h index > > f5083aa72eae..c4efb3ef0dfa 100644 > > --- a/include/linux/efi.h > > +++ b/include/linux/efi.h > > @@ -992,6 +992,7 @@ extern efi_status_t efi_query_variable_store(u32 ��.n��������+%������w��{.n�����{����*jg��������ݢj����G�������j:+v���w�m������w�������h�����٥