mirror of
https://git.proxmox.com/git/grub2
synced 2025-08-05 19:26:01 +00:00
luks2: Do not handle disks of size GRUB_DISK_SIZE_UNKNOWN for now
Check to make sure that source disk has a known size. If not, print a message and return error. There are 4 cases where GRUB_DISK_SIZE_UNKNOWN is set (biosdisk, obdisk, ofdisk, and uboot), and in all those cases processing continues. So this is probably a bit conservative. However, 3 of the cases seem pathological, and the other, biosdisk, happens when booting from a CD-ROM. Since I doubt booting from a LUKS2 volume on a CD-ROM is a big use case, we'll error until someone complains. Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
90fb18632e
commit
278201bc31
@ -600,6 +600,15 @@ luks2_recover_key (grub_disk_t source,
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (grub_disk_native_sectors (source) == GRUB_DISK_SIZE_UNKNOWN)
|
||||
{
|
||||
/* FIXME: Allow use of source disk, and maybe cause errors in read. */
|
||||
grub_dprintf ("luks2", "Source disk %s has an unknown size, "
|
||||
"conservatively returning error\n", source->name);
|
||||
ret = grub_error (GRUB_ERR_BUG, "Unknown size of luks2 source device");
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Try all keyslot */
|
||||
for (json_idx = 0; json_idx < size; json_idx++)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user