Browse Source

efi_loader: do not install NULL as device path

In an image is loaded from memory we do not have a device path.
Do not install NULL as device path in this case.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt 7 years ago
parent
commit
7df5af6f3a
1 changed files with 11 additions and 9 deletions
  1. 11 9
      lib/efi_loader/efi_boottime.c

+ 11 - 9
lib/efi_loader/efi_boottime.c

@@ -1367,16 +1367,18 @@ efi_status_t efi_setup_loaded_image(
 	obj->handle = info;
 
 	info->file_path = file_path;
-	if (device_path)
-		info->device_handle = efi_dp_find_obj(device_path, NULL);
 
-	/*
-	 * When asking for the device path interface, return
-	 * bootefi_device_path
-	 */
-	ret = efi_add_protocol(obj->handle, &efi_guid_device_path, device_path);
-	if (ret != EFI_SUCCESS)
-		goto failure;
+	if (device_path) {
+		info->device_handle = efi_dp_find_obj(device_path, NULL);
+		/*
+		 * When asking for the device path interface, return
+		 * bootefi_device_path
+		 */
+		ret = efi_add_protocol(obj->handle, &efi_guid_device_path,
+				       device_path);
+		if (ret != EFI_SUCCESS)
+			goto failure;
+	}
 
 	/*
 	 * When asking for the loaded_image interface, just