|
@@ -280,12 +280,17 @@ static int efi_image_exec ( struct image *image ) {
|
280
|
280
|
*/
|
281
|
281
|
static int efi_image_probe ( struct image *image ) {
|
282
|
282
|
EFI_BOOT_SERVICES *bs = efi_systab->BootServices;
|
|
283
|
+ static EFI_DEVICE_PATH_PROTOCOL empty_path = {
|
|
284
|
+ .Type = END_DEVICE_PATH_TYPE,
|
|
285
|
+ .SubType = END_ENTIRE_DEVICE_PATH_SUBTYPE,
|
|
286
|
+ .Length[0] = sizeof ( empty_path ),
|
|
287
|
+ };
|
283
|
288
|
EFI_HANDLE handle;
|
284
|
289
|
EFI_STATUS efirc;
|
285
|
290
|
int rc;
|
286
|
291
|
|
287
|
292
|
/* Attempt loading image */
|
288
|
|
- if ( ( efirc = bs->LoadImage ( FALSE, efi_image_handle, NULL,
|
|
293
|
+ if ( ( efirc = bs->LoadImage ( FALSE, efi_image_handle, &empty_path,
|
289
|
294
|
user_to_virt ( image->data, 0 ),
|
290
|
295
|
image->len, &handle ) ) != 0 ) {
|
291
|
296
|
/* Not an EFI image */
|