grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v6 08/12] luks2: Error check segment.sector_size


From: Glenn Washburn
Subject: [PATCH v6 08/12] luks2: Error check segment.sector_size
Date: Fri, 27 Nov 2020 03:03:40 -0600

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 grub-core/disk/luks2.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
index 01f9608e5..f2313cb0f 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
@@ -626,6 +626,17 @@ luks2_recover_key (grub_disk_t source,
 
       grub_dprintf ("luks2", "Trying keyslot %"PRIuGRUB_UINT64_T"\n", 
keyslot.slot_key);
 
+      /* Sector size should be one of 512, 1024, 2048, or 4096. */
+      if (!(segment.sector_size == 512 || segment.sector_size == 1024 ||
+           segment.sector_size == 2048 || segment.sector_size == 4096))
+       {
+         grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\" sector"
+                                " size %"PRIuGRUB_UINT64_T" is not one of"
+                                " 512, 1024, 2048, or 4096\n",
+                                segment.slot_key, segment.sector_size);
+         continue;
+       }
+
       /* Set up disk according to keyslot's segment. */
       crypt->offset_sectors = grub_divmod64 (segment.offset, 
segment.sector_size, NULL);
       crypt->log_sector_size = sizeof (unsigned int) * 8
-- 
2.27.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]