[U-Boot] [PATCH 1/1] efi_loader: use named constant for memory type

When we call an EFI image from memory a memory device path is created. The memory type should use a named constant.
Fixes: bf19273e81e efi_loader: Add mem-mapped for fallback Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de --- cmd/bootefi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmd/bootefi.c b/cmd/bootefi.c index b2f6fd486a..140072f044 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -173,7 +173,7 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt, if (!device_path && !image_path) { printf("WARNING: using memory device/image path, this may confuse some payloads!\n"); /* actual addresses filled in after efi_load_pe() */ - memdp = efi_dp_from_mem(0, 0, 0); + memdp = efi_dp_from_mem(EFI_RESERVED_MEMORY_TYPE, 0, 0); device_path = image_path = memdp; } else { assert(device_path && image_path);

On Tue, Oct 17, 2017 at 12:53 PM, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
When we call an EFI image from memory a memory device path is created. The memory type should use a named constant.
Fixes: bf19273e81e efi_loader: Add mem-mapped for fallback Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
cmd/bootefi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmd/bootefi.c b/cmd/bootefi.c index b2f6fd486a..140072f044 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -173,7 +173,7 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt, if (!device_path && !image_path) { printf("WARNING: using memory device/image path, this may confuse some payloads!\n"); /* actual addresses filled in after efi_load_pe() */
memdp = efi_dp_from_mem(0, 0, 0);
memdp = efi_dp_from_mem(EFI_RESERVED_MEMORY_TYPE, 0, 0);
Note that I actually used '0' because this is a special case where the real memtype is filled in later. And the real mem_type is going to be one of EFI_LOADER_CODE / EFI_BOOT_SERVICES_CODE / EFI_RUNTIME_SERVICES_CODE depending on type of .efi that is loaded. So using EFI_RESERVED_MEMORY_TYPE makes things more confusing.
So I think it should stay '0'.. (or maybe '-1' would be more clear, except that it is an unsigned arg)
BR, -R
device_path = image_path = memdp; } else { assert(device_path && image_path);
-- 2.14.2
participants (2)
-
Heinrich Schuchardt
-
Rob Clark