[U-Boot] [PATCH] efi_loader: initialise partition_signature memory
Jonathan Gray
jsg at jsg.id.au
Tue Nov 21 12:24:32 UTC 2017
Zero partition_signature in the efi_device_path_hard_drive_path
structure when signature_type is zero.
This is required so that efi_dp_match() will work as expected
when doing memcmp() comparisons.
Corrects a problem where the loaded image protocol would not return a
device path with MEDIA_DEVICE causing the OpenBSD bootloader to fail
on rpi_3 and other targets.
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
---
lib/efi_loader/efi_device_path.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
index f6e368e029..8045532a29 100644
--- a/lib/efi_loader/efi_device_path.c
+++ b/lib/efi_loader/efi_device_path.c
@@ -431,6 +431,9 @@ static void *dp_part_fill(void *buf, struct blk_desc *desc, int part)
if (hddp->signature_type != 0)
memcpy(hddp->partition_signature, &desc->guid_sig,
sizeof(hddp->partition_signature));
+ else
+ memset(hddp->partition_signature, 0,
+ sizeof(hddp->partition_signature));
buf = &hddp[1];
}
--
2.15.0
More information about the U-Boot
mailing list