Browse Source

efi_loader: set revision in loaded image protocol

The revision number has to be set in the loaded image protocol.

The problem was detected by running the SCT in
Protocol/LoadedImage/BlackBoxTest/LoadedImageBBTestMain.c:890

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt 6 năm trước cách đây
mục cha
commit
95147313a9
2 tập tin đã thay đổi với 3 bổ sung0 xóa
  1. 2 0
      include/efi_api.h
  2. 1 0
      lib/efi_loader/efi_boottime.c

+ 2 - 0
include/efi_api.h

@@ -318,6 +318,8 @@ struct efi_system_table {
 	EFI_GUID(0x5b1b31a1, 0x9562, 0x11d2, \
 		 0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
 
+#define EFI_LOADED_IMAGE_PROTOCOL_REVISION 0x1000
+
 struct efi_loaded_image {
 	u32 revision;
 	void *parent_handle;

+ 1 - 0
lib/efi_loader/efi_boottime.c

@@ -1497,6 +1497,7 @@ efi_status_t efi_setup_loaded_image(
 	/* efi_exit() assumes that the handle points to the info */
 	obj->handle = info;
 
+	info->revision =  EFI_LOADED_IMAGE_PROTOCOL_REVISION;
 	info->file_path = file_path;
 
 	if (device_path) {