From e4c1c48eebd072b2fa6f27fd9b7baa731350ebe8 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Mon, 29 Jun 2020 11:49:58 +0200 Subject: [PATCH 1/3] efi_loader: fix incorrect use of EFI_EXIT() efi_get_variable_common() does not use EFI_ENTRY(). So we should not use EFI_EXIT() either. Fixes: 767f6eeb01d3 ("efi_loader: variable: support variable authentication") Signed-off-by: Heinrich Schuchardt --- lib/efi_loader/efi_variable.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c index 6271dbcf41..c262cb5972 100644 --- a/lib/efi_loader/efi_variable.c +++ b/lib/efi_loader/efi_variable.c @@ -606,7 +606,7 @@ static efi_status_t efi_get_variable_common(u16 *variable_name, u32 attr; if (!variable_name || !vendor || !data_size) - return EFI_EXIT(EFI_INVALID_PARAMETER); + return EFI_INVALID_PARAMETER; ret = efi_to_native(&native_name, variable_name, vendor); if (ret) From 039d4f50e4894fc5176d4913e68fb8d6a38571cf Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Tue, 30 Jun 2020 14:12:43 +0200 Subject: [PATCH 2/3] efi_loader: incorrect check against FDT_ADDR_T_NONE With commit 0d7c2913fdf7 ("cmd: bootefi: Honor the address & size cells properties correctly") addr was replaced by fdt_addr. But not in the check against FDT_ADDR_T_NONE. Fixes: 0d7c2913fdf7 ("cmd: bootefi: Honor the address & size cells properties correctly") Signed-off-by: Heinrich Schuchardt --- cmd/bootefi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/bootefi.c b/cmd/bootefi.c index 8269153973..57552f99fc 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -200,7 +200,7 @@ static void efi_carve_out_dt_rsv(void *fdt) * The /reserved-memory node may have children with * a size instead of a reg property. */ - if (addr != FDT_ADDR_T_NONE && + if (fdt_addr != FDT_ADDR_T_NONE && fdtdec_get_is_enabled(fdt, subnode)) efi_reserve_memory(fdt_addr, fdt_size); subnode = fdt_next_subnode(fdt, subnode); From b7cae5739741fad1327e64c18a0b30919bc77a0e Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Sat, 27 Jun 2020 18:03:17 -0700 Subject: [PATCH 3/3] test/py: test_efi_fit: Update #size-cells to 1 test_efi_fit tests fail on RISC-V currently. This is due to the RISC-V arch_fixup_fdt() checks the #size-cells of the root node in order to correctly fix up the reserved memory node. Per the DT binding, the /reserved-memory node requires both <#address-cells> and <#size-cells> and they should use the same values as the root node. For the root node, it's not very useful if <#size-cells> is zero. Update #size-cells to 1 so tests can pass. Signed-off-by: Bin Meng --- test/py/tests/test_efi_fit.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/py/tests/test_efi_fit.py b/test/py/tests/test_efi_fit.py index beaf4a3c51..06fb151c13 100644 --- a/test/py/tests/test_efi_fit.py +++ b/test/py/tests/test_efi_fit.py @@ -106,14 +106,14 @@ FDT_DATA = ''' / { #address-cells = <1>; - #size-cells = <0>; + #size-cells = <1>; model = "%(sys-arch)s %(fdt_type)s EFI FIT Boot Test"; compatible = "%(sys-arch)s"; reset@0 { compatible = "%(sys-arch)s,reset"; - reg = <0>; + reg = <0 4>; }; }; '''