grub2/grub-core/disk
Glenn Washburn 9c3149a2f2 luks2: Better error handling when setting up the cryptodisk
Do some sanity checking on data coming from the LUKS2 header. If segment.size
is "dynamic", verify that the offset is not past the end of disk. Otherwise,
check for errors from grub_strtoull() when converting segment size from
string. If a GRUB_ERR_BAD_NUMBER error was returned, then the string was
not a valid parsable number, so skip the key. If GRUB_ERR_OUT_OF_RANGE was
returned, then there was an overflow in converting to a 64-bit unsigned
integer. So this could be a very large disk (perhaps large RAID array).
In this case skip the key too. Additionally, enforce some other limits
and fail if needed.

Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-12-18 23:00:28 +01:00
..
arc Rename grub_disk members 2019-03-25 15:14:52 +01:00
efi disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
i386/pc Rename grub_disk members 2019-03-25 15:14:52 +01:00
ieee1275 calloc: Use calloc() at most places 2020-07-29 16:55:47 +02:00
uboot Rename grub_disk members 2019-03-25 15:14:52 +01:00
xen calloc: Use calloc() at most places 2020-07-29 16:55:47 +02:00
AFSplitter.c afsplitter: Move into its own module 2020-01-10 14:27:49 +01:00
ahci.c ahci: Increase time-out from 10 s to 32 s 2018-09-13 10:54:54 +02:00
ata.c Rename grub_disk members 2019-03-25 15:14:52 +01:00
cryptodisk.c cryptodisk: Properly handle non-512 byte sized sectors 2020-12-12 01:19:05 +01:00
diskfilter.c disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
dmraid_nvidia.c disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
geli.c disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
host.c Rename grub_disk members 2019-03-25 15:14:52 +01:00
ldm.c disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
loopback.c loopback: Do not automaticaly replace existing loopback dev, error instead 2020-12-12 01:19:03 +01:00
luks2.c luks2: Better error handling when setting up the cryptodisk 2020-12-18 23:00:28 +01:00
luks.c cryptodisk: Properly handle non-512 byte sized sectors 2020-12-12 01:19:05 +01:00
lvm.c lvm: Fix two more potential data-dependent alloc overflows 2020-07-29 16:55:48 +02:00
mdraid1x_linux.c disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
mdraid_linux_be.c Handle big-endian mdraid. 2012-03-26 16:10:40 +02:00
mdraid_linux.c disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
memdisk.c Rename grub_disk members 2019-03-25 15:14:52 +01:00
pata.c Add PCI command activation to all PCI drivers as required for coreboot 2013-11-26 14:21:11 +01:00
raid5_recover.c * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper 2012-06-25 17:36:50 +02:00
raid6_recover.c btrfs: Make more generic the code for RAID 6 rebuilding 2018-10-31 12:07:29 +01:00
scsi.c Rename grub_disk members 2019-03-25 15:14:52 +01:00
usbms.c cleanup: grub_cpu_to_XXX_compile_time for constants 2014-09-22 20:47:10 +04:00