efi_loader: pass boot_policy to efi_load_image_from_path
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 4 Dec 2020 08:27:41 +0000 (09:27 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 10 Dec 2020 08:15:32 +0000 (09:15 +0100)
Implementing support for loading images via the EFI_LOAD_FILE_PROTOCOL
requires the boot policy as input for efi_load_image_from_path().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_boottime.c

index afe8adb..f18e384 100644 (file)
@@ -1860,13 +1860,15 @@ out:
  * Read a file into a buffer allocated as EFI_BOOT_SERVICES_DATA. It is the
  * callers obligation to update the memory type as needed.
  *
- * @file_path: the path of the image to load
- * @buffer:    buffer containing the loaded image
- * @size:      size of the loaded image
- * Return:     status code
+ * @boot_policy:       true for request originating from the boot manager
+ * @file_path:         the path of the image to load
+ * @buffer:            buffer containing the loaded image
+ * @size:              size of the loaded image
+ * Return:             status code
  */
 static
-efi_status_t efi_load_image_from_path(struct efi_device_path *file_path,
+efi_status_t efi_load_image_from_path(bool boot_policy,
+                                     struct efi_device_path *file_path,
                                      void **buffer, efi_uintn_t *size)
 {
        struct efi_file_info *info = NULL;
@@ -1968,8 +1970,8 @@ efi_status_t EFIAPI efi_load_image(bool boot_policy,
        }
 
        if (!source_buffer) {
-               ret = efi_load_image_from_path(file_path, &dest_buffer,
-                                              &source_size);
+               ret = efi_load_image_from_path(boot_policy, file_path,
+                                              &dest_buffer, &source_size);
                if (ret != EFI_SUCCESS)
                        goto error;
        } else {