acpi: add missing efi_call wrapper to acpi command
authorAndrei Borzenkov <arvidjaar@gmail.com>
Sun, 2 Apr 2017 11:47:20 +0000 (14:47 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sun, 2 Apr 2017 11:47:20 +0000 (14:47 +0300)
Fixed loading of ACPI tables on EFI (side effect was apparent memory
corruption ranging from unpredictable behavior to system reset).

Reported by Nando Eva <nando4eva@ymail.com>

grub-core/commands/acpi.c

index b5c2f27..9f02f22 100644 (file)
@@ -761,10 +761,10 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int argc, char **args)
     struct grub_efi_guid acpi = GRUB_EFI_ACPI_TABLE_GUID;
     struct grub_efi_guid acpi20 = GRUB_EFI_ACPI_20_TABLE_GUID;
 
-    grub_efi_system_table->boot_services->install_configuration_table
-      (&acpi20, grub_acpi_get_rsdpv2 ());
-    grub_efi_system_table->boot_services->install_configuration_table
-      (&acpi, grub_acpi_get_rsdpv1 ());
+    efi_call_2 (grub_efi_system_table->boot_services->install_configuration_table,
+      &acpi20, grub_acpi_get_rsdpv2 ());
+    efi_call_2 (grub_efi_system_table->boot_services->install_configuration_table,
+      &acpi, grub_acpi_get_rsdpv1 ());
   }
 #endif