]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_loader: pass GUID by address to efi_dp_from_lo
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 26 Apr 2024 14:13:08 +0000 (16:13 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Wed, 1 May 2024 06:40:42 +0000 (08:40 +0200)
We should not pass GUIDs by value as this requires copying.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
include/efi_loader.h
lib/efi_loader/efi_helper.c
lib/efi_loader/efi_load_initrd.c

index 69442f4e58de8c0c4d4fe4a1fc186773e7f68535..9600941aa327f8a3c5c6774f8f1247152e91562c 100644 (file)
@@ -743,7 +743,7 @@ efi_status_t EFIAPI efi_register_protocol_notify(const efi_guid_t *protocol,
 efi_status_t efi_file_size(struct efi_file_handle *fh, efi_uintn_t *size);
 
 /* get a device path from a Boot#### option */
-struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid);
+struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t *guid);
 
 /* get len, string (used in u-boot crypto from a guid */
 const char *guid_to_sha_str(const efi_guid_t *guid);
index 9d7f82f45220542be86c2343cffad44ff76fb2c5..73d0279e843f24e603731f55110722fd0ce5675c 100644 (file)
@@ -72,7 +72,7 @@ out:
  *
  * Return:     device path or NULL. Caller must free the returned value
  */
-struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid)
+struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t *guid)
 {
        struct efi_load_option lo;
        void *var_value;
@@ -92,7 +92,7 @@ struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid)
        if (ret != EFI_SUCCESS)
                goto err;
 
-       return efi_dp_from_lo(&lo, &guid);
+       return efi_dp_from_lo(&lo, guid);
 
 err:
        free(var_value);
index 67d1f75d525f1e32247e20946516bfffa4cecb22..d91135436c42920a4c854efa5a6b758f7ad53f2c 100644 (file)
@@ -63,7 +63,7 @@ static efi_status_t get_initrd_fp(struct efi_device_path **initrd_fp)
         * We can then use this specific return value and not install the
         * protocol, while allowing the boot to continue
         */
-       dp = efi_get_dp_from_boot(efi_lf2_initrd_guid);
+       dp = efi_get_dp_from_boot(&efi_lf2_initrd_guid);
        if (!dp)
                return EFI_INVALID_PARAMETER;