[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max
From: |
Patrick Steinhardt |
Subject: |
Re: [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors |
Date: |
Sun, 6 Dec 2020 14:34:37 +0100 |
On Fri, Dec 04, 2020 at 10:43:39AM -0600, Glenn Washburn wrote:
> We need to convert the sectors from the size of the underlying device to the
> cryptodisk sector size; segment.size is in bytes which need to be converted
> to cryptodisk sectors as well.
>
> Also, removed an empty statement.
>
> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
> Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
> ---
> grub-core/disk/luks2.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
> index 4be40b22b..bdf40768b 100644
> --- a/grub-core/disk/luks2.c
> +++ b/grub-core/disk/luks2.c
> @@ -429,7 +429,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
> grub_uint8_t salt[GRUB_CRYPTODISK_MAX_KEYLEN];
> grub_uint8_t *split_key = NULL;
> grub_size_t saltlen = sizeof (salt);
> - char cipher[32], *p;;
> + char cipher[32], *p;
> const gcry_md_spec_t *hash;
> gcry_err_code_t gcry_ret;
> grub_err_t ret;
> @@ -615,9 +615,10 @@ luks2_recover_key (grub_disk_t source,
> crypt->log_sector_size = sizeof (unsigned int) * 8
> - __builtin_clz ((unsigned int) segment.sector_size) - 1;
> if (grub_strcmp (segment.size, "dynamic") == 0)
> - crypt->total_sectors = grub_disk_get_size (source) -
> crypt->offset_sectors;
> + crypt->total_sectors = (grub_disk_get_size (source) >>
> (crypt->log_sector_size - source->log_sector_size))
> + - crypt->offset_sectors;
> else
> - crypt->total_sectors = grub_strtoull (segment.size, NULL, 10);
> + crypt->total_sectors = grub_strtoull (segment.size, NULL, 10) >>
> crypt->log_sector_size;
>
> ret = luks2_decrypt_key (candidate_key, source, crypt, &keyslot,
> (const grub_uint8_t *) passphrase, grub_strlen
> (passphrase));
> --
> 2.27.0
>
signature.asc
Description: PGP signature
- Re: [PATCH v7 04/17] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to, (continued)
- [PATCH v7 09/17] cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals, Glenn Washburn, 2020/12/04
- [PATCH v7 07/17] luks2: Add string "index" to user strings using a json index., Glenn Washburn, 2020/12/04
- [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors, Glenn Washburn, 2020/12/04
- Re: [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors,
Patrick Steinhardt <=
- [PATCH v7 01/17] disk: Rename grub_disk_get_size to grub_disk_native_sectors, Glenn Washburn, 2020/12/04
- [PATCH v7 16/17] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers, Glenn Washburn, 2020/12/04
- [PATCH v7 13/17] luks2: Error check segment.sector_size, Glenn Washburn, 2020/12/04
- [PATCH v7 08/17] cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals, Glenn Washburn, 2020/12/04