mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
luks2: Convert to crypt sectors from GRUB native sectors
The function grub_disk_native_sectors(source) returns the number of sectors of source in GRUB native (512-byte) sectors, not source sized sectors. So the conversion needs to use GRUB_DISK_SECTOR_BITS, the GRUB native sector size. Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
b298eed001
commit
90fb18632e
1 file changed
+1
-1
@@ -631,7 +631,7 @@ luks2_recover_key (grub_disk_t source,
|
|||||||
crypt->log_sector_size = sizeof (unsigned int) * 8
|
crypt->log_sector_size = sizeof (unsigned int) * 8
|
||||||
- __builtin_clz ((unsigned int) segment.sector_size) - 1;
|
- __builtin_clz ((unsigned int) segment.sector_size) - 1;
|
||||||
if (grub_strcmp (segment.size, "dynamic") == 0)
|
if (grub_strcmp (segment.size, "dynamic") == 0)
|
||||||
crypt->total_sectors = (grub_disk_native_sectors (source) >> (crypt->log_sector_size - source->log_sector_size))
|
crypt->total_sectors = (grub_disk_native_sectors (source) >> (crypt->log_sector_size - GRUB_DISK_SECTOR_BITS))
|
||||||
- crypt->offset_sectors;
|
- crypt->offset_sectors;
|
||||||
else
|
else
|
||||||
crypt->total_sectors = grub_strtoull (segment.size, NULL, 10) >> crypt->log_sector_size;
|
crypt->total_sectors = grub_strtoull (segment.size, NULL, 10) >> crypt->log_sector_size;
|
||||||
|
|||||||
Reference in new issue
Block a user