efi_loader: do not call efi_runtime_detach twice
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>
diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 54e5a98..ced0051 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -565,7 +565,10 @@
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 @@
}
}
- /*
- * 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;