efi_loader: efi_disk_register() should not fail
Our algorithm for creating USB device paths may lead to duplicate device paths which result in efi_disk_register() failing. Instead we should just skip devices that cannot be registered as EFI block devices. Fix a memory leak in efi_disk_add_dev() caused by the duplicate device path. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
3f73e79de8
commit
cd9a26bfe5
@ -424,7 +424,7 @@ static efi_status_t efi_disk_add_dev(
|
||||
&efi_block_io_guid, &diskobj->ops,
|
||||
guid, NULL, NULL));
|
||||
if (ret != EFI_SUCCESS)
|
||||
return ret;
|
||||
goto error;
|
||||
|
||||
/*
|
||||
* On partitions or whole disks without partitions install the
|
||||
@ -573,7 +573,7 @@ efi_status_t efi_disk_register(void)
|
||||
if (ret) {
|
||||
log_err("ERROR: failure to add disk device %s, r = %lu\n",
|
||||
dev->name, ret & ~EFI_ERROR_MASK);
|
||||
return ret;
|
||||
continue;
|
||||
}
|
||||
disks++;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user