efi_loader: do not call efi_runtime_detach twice
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 14 Aug 2019 04:49:09 +0000 (06:49 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 15 Aug 2019 18:33:10 +0000 (20:33 +0200)
Commit 7f95104d91cc ("efi_loader: detach runtime in ExitBootServices()")
added a call to efi_runtime_detach() to ExitBootServices() but did not
remove the call in SetVirtualAddressMap().

Remove the superfluous function call.

Correct a comment referring to efi_runtime_detach().

Fixes: 7f95104d91cc ("efi_loader: detach runtime in ExitBootServices()")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_runtime.c

index 54e5a98bfc6cc2518351ebe595e3cf1a42e7c47d..ced00516f73b412e7282405fe936910cb724c2a7 100644 (file)
@@ -565,7 +565,10 @@ void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map)
 
                p = (void*)((ulong)rel->offset - base) + gd->relocaddr;
 
-               /* The runtime services are updated in efi_runtime_detach() */
+               /*
+                * The runtime services table is updated in
+                * efi_relocate_runtime_table()
+                */
                if (map && efi_is_runtime_service_pointer(p))
                        continue;
 
@@ -724,14 +727,6 @@ static efi_status_t EFIAPI efi_set_virtual_address_map(
                }
        }
 
-       /*
-        * Some runtime services are implemented in a way that we can only offer
-        * them at boottime. Replace those function pointers.
-        *
-        * TODO: move this call to ExitBootServices().
-        */
-       efi_runtime_detach();
-
        /* Relocate the runtime. See TODO above */
        for (i = 0; i < n; i++) {
                struct efi_mem_desc *map;