u-boot/lib
Masami Hiramatsu 3ef772230d efi: Fix to use null handle to create new handle for efi_fmp_raw
When running the efidebug capsule disk-update command, the efi_fmp_raw
protocol installation fails with 2 (EFI_INVALID_PARAMETER) as below.
This is because the code passes efi_root instead of the handle local var.

=> efidebug capsule disk-update
EFI: Call: efi_install_multiple_protocol_interfaces( &handle, &efi_guid_firmware_management_protocol, &efi_fmp_fit, NULL)
  EFI: Entry efi_install_multiple_protocol_interfaces(00000000fbaf5988)
    EFI: Call: efi_install_protocol_interface( handle, protocol, EFI_NATIVE_INTERFACE, protocol_interface)
      EFI: Entry efi_install_protocol_interface(00000000fbaf5988, 86c77a67-0b97-4633-a187-49104d0685c7, 0, 00000000fbfa6ee8)
        EFI: new handle 00000000fbb37520
      EFI: Exit: efi_install_protocol_interface: 0
    EFI: 0 returned by efi_install_protocol_interface( handle, protocol, EFI_NATIVE_INTERFACE, protocol_interface)
  EFI: Exit: efi_install_multiple_protocol_interfaces: 0
EFI: 0 returned by efi_install_multiple_protocol_interfaces( &handle, &efi_guid_firmware_management_protocol, &efi_fmp_fit, NULL)
EFI: Call: efi_install_multiple_protocol_interfaces( &efi_root, &efi_guid_firmware_management_protocol, &efi_fmp_raw, NULL)
  EFI: Entry efi_install_multiple_protocol_interfaces(00000000fbfec648)
    EFI: Call: efi_install_protocol_interface( handle, protocol, EFI_NATIVE_INTERFACE, protocol_interface)
      EFI: Entry efi_install_protocol_interface(00000000fbfec648, 86c77a67-0b97-4633-a187-49104d0685c7, 0, 00000000fbfa6f18)
        EFI: handle 00000000fbaf8520
      EFI: Exit: efi_install_protocol_interface: 2
    EFI: 2 returned by efi_install_protocol_interface( handle, protocol, EFI_NATIVE_INTERFACE, protocol_interface)
  EFI: Exit: efi_install_multiple_protocol_interfaces: 2
EFI: 2 returned by efi_install_multiple_protocol_interfaces( &efi_root, &efi_guid_firmware_management_protocol, &efi_fmp_raw, NULL)
Command failed, result=1

To fix this issue, pass the handle local var which is set NULL right
before installing efi_fmp_raw as same as the installing efi_fmp_fit.
(In both cases, the local reference to the handle will be just discarded)

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-07-02 09:37:01 +02:00
..
acpi common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
aes fit: cipher: aes: allow to store the IV in the FIT image 2020-10-12 21:30:37 -04:00
at91 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bzip2 common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
crypto lib: Rename rsa-checksum.c to hash-checksum.c 2021-04-14 15:06:08 -04:00
dhry command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
ecdsa lib/ecdsa: Use the 'keydir' argument from mkimage if appropriate 2021-04-14 15:23:01 -04:00
efi common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_driver dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
efi_loader efi: Fix to use null handle to create new handle for efi_fmp_raw 2021-07-02 09:37:01 +02:00
efi_selftest efi_loader: TPL_HIGH_LEVEL not allowed for CreateEvent 2021-06-28 19:57:13 +02:00
libavb common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
libfdt fdt_region: move fdt_region.c to common/ from lib/libfdt/ 2020-04-26 14:23:55 -06:00
lzma common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lzo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
optee lib: optee: migration optee_copy_fdt_nodes for OF_LIVE support 2021-04-12 14:25:31 -04:00
rsa lib/rsa: Use EVP_PKEY instead of RSA 2021-04-14 17:45:04 -04:00
tizen SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zlib common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
zstd dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
.gitignore lib: ignore oid_registry_data.c file 2020-01-22 17:47:57 -05:00
addr_map.c lib: addr_map: Move address_map[] type to the header file 2021-03-05 10:25:43 +05:30
aes.c lib: aes: build failure with DEBUG=1 2021-01-16 19:17:11 -05:00
asm-offsets.c arm64: Fix relocation of env_addr if POSITION_INDEPENDENT=y 2021-06-28 14:47:10 -04:00
asn1_decoder.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bch.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
binman.c binman: Show a message when changing subnodes 2021-03-27 15:04:31 +13:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
charset.c lib/charset: UTF-8 stream conversion 2021-03-07 17:37:13 +01:00
circbuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc8.c common: Drop linux/crc8.h 2019-12-02 18:23:07 -05:00
crc16.c Roll CRC16-CCITT into the hash infrastructure 2018-12-08 20:18:44 -05:00
crc32.c lib: crc32: put the crc_table variable into efi_runtime_rodata section 2021-05-24 14:21:30 -04:00
crc32c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctype.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
date.c lib: add mktime64() for linux compatibility 2019-12-06 16:44:19 -05:00
display_options.c display_options: Use USE_TINY_PRINTF for SPL check 2021-01-27 17:03:16 -05:00
div64.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
elf.c lib: elf: Move the generic elf loading/validating functions to lib 2020-03-03 13:08:14 +05:30
errno.c sandbox: errno: avoid conflict with libc's errno 2021-05-24 14:21:30 -04:00
errno_str.c lib: errno: sync error codes 2019-10-31 07:22:53 -04:00
fdt-libcrypto.c lib/rsa: Make fdt_add_bignum() available outside of RSA code 2021-04-14 15:06:08 -04:00
fdtdec.c dm: core: Add address translation in fdt_get_resource 2021-04-29 03:23:39 -07:00
fdtdec_common.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
fdtdec_test.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
getopt.c lib: Add getopt 2020-10-30 10:56:11 -04:00
gunzip.c common: Drop part.h from common header 2020-05-18 17:33:33 -04:00
gzip.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00
hang.c common: Move hang() to the same header as panic() 2020-01-17 17:53:40 -05:00
hash-checksum.c lib: Rename rsa-checksum.c to hash-checksum.c 2021-04-14 15:06:08 -04:00
hashtable.c env: Allow returning errors from hdelete_r() 2020-12-04 16:09:06 -05:00
hexdump.c lib: do not provide hexdump in SPL 2020-04-24 10:51:32 -04:00
image-sparse.c fastboot: Fix overflow when calculating chunk size 2021-06-01 16:48:54 -04:00
Kconfig Revert "lib: introduce HASH_CALCULATE option" 2021-05-28 16:17:01 +02:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linux_compat.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
linux_string.c Make linux kernel string funcs available to tools 2012-12-13 11:46:07 -07:00
list_sort.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lmb.c lmb: Add 2 config to define the max number of regions 2021-04-22 14:09:45 -04:00
lz4.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
lz4_wrapper.c lz4: Fix unaligned accesses 2021-04-20 07:31:12 -04:00
Makefile efi_loader: Work-around build issue due to missing hash_calculate() 2021-05-28 16:17:01 +02:00
md5.c GCC47: Fix warning in md5.c 2012-04-29 14:14:08 +02:00
membuff.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
net_utils.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
of_live.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
oid_registry.c lib: add oid registry utility 2019-12-06 16:44:20 -05:00
panic.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
physmem.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
qsort.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
rand.c common: Move random-number functions into their own header 2019-12-02 18:23:07 -05:00
rbtree.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rc4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha1.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha256.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha512.c lib: sha512: include "compiler.h" 2021-02-24 16:51:49 -05:00
slre.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
smbios-parser.c smbios: Allow writing to the coreboot version string 2021-03-27 13:59:37 +13:00
smbios.c smbios: Fix SMBIOS tables 2021-06-28 19:57:13 +02:00
sscanf.c xen: Code style conformity 2020-08-24 14:11:31 -04:00
string.c string: make memcpy(), memset(), memcmp() and memmove() visible for LTO 2021-05-24 14:21:30 -04:00
strto.c Revert "lib: Improve _parse_integer_fixup_radix base 16 detection" 2020-06-15 11:23:41 -04:00
tables_csum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
time.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tiny-printf.c tiny-printf: Support %i 2020-05-01 11:03:24 -04:00
tpm-common.c tpm: Add debugging of request in tpm_sendrecv_command() 2021-03-02 15:53:37 -05:00
tpm-utils.h tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
tpm-v1.c tpm: Switch TPMv1 over to use the new API 2021-03-02 15:53:37 -05:00
tpm-v2.c tpm: Allow disabling platform hierarchy with TPM2 2021-03-02 15:53:37 -05:00
tpm_api.c tpm: Add TPM2 support for write_lock 2021-03-02 15:53:37 -05:00
trace.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
uuid.c lib: uuid: use RNG device if present 2021-01-19 09:15:02 -05:00
vsprintf.c compiler*.h: sync include/linux/compiler*.h with Linux 5.7-rc5 2020-07-01 11:48:05 -04:00
xxhash.c lib: Add xxhash support 2019-05-05 08:48:50 -04:00