From 7b3cc18462425ab816348103f1bfa2546d248d37 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 5 Aug 2014 20:49:42 +0100 Subject: [efi] Open device path protocol only at point of use Some EFI 1.10 systems (observed on an Apple iMac) do not allow us to open the device path protocol with an attribute of EFI_OPEN_PROTOCOL_BY_DRIVER and so we cannot maintain a safe, long-lived pointer to the device path. Work around this by instead opening the device path protocol with an attribute of EFI_OPEN_PROTOCOL_GET_PROTOCOL whenever we need to use it. Debugged-by: Curtis Larsen Signed-off-by: Michael Brown --- src/image/efi_image.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/image') diff --git a/src/image/efi_image.c b/src/image/efi_image.c index f5ce102f..613c9d92 100644 --- a/src/image/efi_image.c +++ b/src/image/efi_image.c @@ -167,7 +167,7 @@ static int efi_image_exec ( struct image *image ) { } /* Create device path for image */ - path = efi_image_path ( image, &snpdev->path ); + path = efi_image_path ( image, snpdev->path ); if ( ! path ) { DBGC ( image, "EFIIMAGE %p could not create device path\n", image ); -- cgit v1.2.3-55-g7522