All of lore.kernel.org
 help / color / mirror / Atom feed
From: Glenn Washburn <development@efficientek.com>
To: grub-devel@gnu.org
Cc: Patrick Steinhardt <ps@pks.im>, Daniel Kiper <dkiper@net-space.pl>
Subject: Re: [PATCH v7 12/17] luks2: Better error handling when setting up the cryptodisk
Date: Mon, 7 Dec 2020 22:28:53 -0600	[thread overview]
Message-ID: <20201207222853.4853d3fa@crass-HP-ZBook-15-G2> (raw)
In-Reply-To: <c9db343e83a8b8d3f0f86959881246be1687b931.1607098915.git.development@efficientek.com>

This patch got mangled accidentally with patch 5.  I'll update them
both.

Glenn

On Fri,  4 Dec 2020 10:43:41 -0600
Glenn Washburn <development@efficientek.com> wrote:

> First, check to make sure that source disk has a known size. If not,
> print debug 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. Since I doubt
> booting from a LUKS2 volume on a cd is a big use case, we'll error
> until someone complains.
> 
> Do some sanity checking on data coming from the luks header. If
> segment.size is "dynamic",
> 
> 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, we want to
> continue to try to use this key so long as the source disk's size is
> greater than this segment size. Otherwise, this is an invalid
> segment, and continue on to the next key.
> 
> Signed-off-by: Glenn Washburn <development@efficientek.com>
> ---
>  grub-core/disk/luks2.c | 98
> +++++++++++++++++++++++++++++++++++++----- include/grub/disk.h    |
> 17 ++++++++ 2 files changed, 105 insertions(+), 10 deletions(-)
> 
> diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
> index de2e70796..1bb3a333d 100644
> --- a/grub-core/disk/luks2.c
> +++ b/grub-core/disk/luks2.c
> @@ -290,7 +290,7 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k,
> grub_luks2_digest_t *d, grub_luks2_s break;
>      }
>    if (i == size)
> -      return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for
> keyslot \"%"PRIuGRUB_UINT64_T"\"", k->slot_key);
> +      return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for
> keyslot \"%"PRIuGRUB_UINT64_T"\"", k->json_slot_key); 
>    /* Get segment that matches the digest. */
>    if (grub_json_getvalue (&segments, root, "segments") ||
> @@ -308,7 +308,7 @@ luks2_get_keyslot (grub_luks2_keyslot_t *k,
> grub_luks2_digest_t *d, grub_luks2_s break;
>      }
>    if (i == size)
> -    return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for
> digest \"%"PRIuGRUB_UINT64_T"\"", d->slot_key);
> +    return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for
> digest \"%"PRIuGRUB_UINT64_T"\"", d->json_slot_key); 
>    return GRUB_ERR_NONE;
>  }
> @@ -600,37 +600,115 @@ luks2_recover_key (grub_disk_t source,
>        goto err;
>      }
>  
> +  if (source->total_sectors == 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 (i = 0; i < size; i++)
>      {
> +      typeof(source->total_sectors) max_crypt_sectors = 0;
> +
> +      grub_errno = GRUB_ERR_NONE;
>        ret = luks2_get_keyslot (&keyslot, &digest, &segment, json, i);
>        if (ret)
>  	goto err;
> +      if (grub_errno != GRUB_ERR_NONE)
> +	  grub_dprintf ("luks2", "Ignoring unhandled error %d from
> luks2_get_keyslot\n", grub_errno); 
>        if (keyslot.priority == 0)
>  	{
> -	  grub_dprintf ("luks2", "Ignoring keyslot
> \"%"PRIuGRUB_UINT64_T"\" due to priority\n", keyslot.slot_key);
> +	  grub_dprintf ("luks2", "Ignoring keyslot
> \"%"PRIuGRUB_UINT64_T"\" due to priority\n", keyslot.json_slot_key);
> continue; }
>  
> -      grub_dprintf ("luks2", "Trying keyslot
> \"%"PRIuGRUB_UINT64_T"\"\n", keyslot.slot_key);
> +      grub_dprintf ("luks2", "Trying keyslot
> \"%"PRIuGRUB_UINT64_T"\"\n", keyslot.json_slot_key); 
>        /* 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
>  		- __builtin_clz ((unsigned int) segment.sector_size)
> - 1;
> +      /* Set to the source disk size, which is the maximum we allow.
> */
> +      max_crypt_sectors = grub_disk_convert_sector(source,
> +
> source->total_sectors,
> +
> crypt->log_sector_size); +
> +      if (max_crypt_sectors < crypt->offset_sectors)
> +	{
> +	  grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\"
> has offset"
> +				 " %"PRIuGRUB_UINT64_T" which is
> greater than"
> +				 " source disk size
> %"PRIuGRUB_UINT64_T","
> +				 " skipping\n",
> +				 segment.json_slot_key,
> crypt->offset_sectors,
> +				 max_crypt_sectors);
> +	  continue;
> +	}
> +
>        if (grub_strcmp (segment.size, "dynamic") == 0)
> -	crypt->total_sectors = (grub_disk_get_size (source) >>
> (crypt->log_sector_size - source->log_sector_size))
> -			       - crypt->offset_sectors;
> +	crypt->total_sectors = max_crypt_sectors -
> crypt->offset_sectors; else
> -	crypt->total_sectors = grub_strtoull (segment.size, NULL,
> 10) >> crypt->log_sector_size;
> +	{
> +	  grub_errno = GRUB_ERR_NONE;
> +	  /* Convert segment.size to sectors, rounding up to nearest
> sector */
> +	  crypt->total_sectors = grub_strtoull (segment.size, NULL,
> 10);
> +	  crypt->total_sectors = ALIGN_UP (crypt->total_sectors,
> +					   1 <<
> crypt->log_sector_size);
> +	  crypt->total_sectors >>= crypt->log_sector_size;
> +
> +	  if (grub_errno == GRUB_ERR_NONE)
> +	    ;
> +	  else if (grub_errno == GRUB_ERR_BAD_NUMBER)
> +	    {
> +	      grub_dprintf ("luks2", "Segment
> \"%"PRIuGRUB_UINT64_T"\" size"
> +				     " \"%s\" is not a parsable
> number\n",
> +				     segment.json_slot_key,
> segment.size);
> +	      continue;
> +	    }
> +	  else if (grub_errno == GRUB_ERR_OUT_OF_RANGE)
> +	    {
> +	      /*
> +	       * There was an overflow in parsing segment.size, so
> disk must
> +	       * be very large or the string is incorrect.
> +	       */
> +	      grub_dprintf ("luks2", "Segment
> \"%"PRIuGRUB_UINT64_T"\" size"
> +				     " %s overflowed 64-bit unsigned
> integer,"
> +				     " the end of the crypto device
> will be"
> +				     " inaccessible\n",
> +				     segment.json_slot_key,
> segment.size);
> +	      if (crypt->total_sectors > max_crypt_sectors)
> +		crypt->total_sectors = max_crypt_sectors;
> +	    }
> +	}
> +
> +      if (crypt->total_sectors == 0)
> +	{
> +	  grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\"
> has zero"
> +				 " sectors, skipping\n",
> +				 segment.json_slot_key);
> +	  continue;
> +	}
> +      else if (max_crypt_sectors < (crypt->offset_sectors +
> crypt->total_sectors))
> +	{
> +	  grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\"
> has last"
> +				 " data position greater than source
> disk size,"
> +				 " the end of the crypto device will
> be"
> +				 " inaccessible\n",
> +				 segment.json_slot_key);
> +	  /* Allow decryption up to the end of the source disk. */
> +	  crypt->total_sectors = max_crypt_sectors -
> crypt->offset_sectors;
> +	}
>  
>        ret = luks2_decrypt_key (candidate_key, source, crypt,
> &keyslot, (const grub_uint8_t *) passphrase, grub_strlen
> (passphrase)); if (ret)
>  	{
>  	  grub_dprintf ("luks2", "Decryption with keyslot
> \"%"PRIuGRUB_UINT64_T"\" failed: %s\n",
> -			keyslot.slot_key, grub_errmsg);
> +			keyslot.json_slot_key, grub_errmsg);
>  	  continue;
>  	}
>  
> @@ -638,7 +716,7 @@ luks2_recover_key (grub_disk_t source,
>        if (ret)
>  	{
>  	  grub_dprintf ("luks2", "Could not open keyslot
> \"%"PRIuGRUB_UINT64_T"\": %s\n",
> -			keyslot.slot_key, grub_errmsg);
> +			keyslot.json_slot_key, grub_errmsg);
>  	  continue;
>  	}
>  
> @@ -646,7 +724,7 @@ luks2_recover_key (grub_disk_t source,
>         * TRANSLATORS: It's a cryptographic key slot: one element of
> an array
>         * where each element is either empty or holds a key.
>         */
> -      grub_printf_ (N_("Slot \"%"PRIuGRUB_UINT64_T"\" opened\n"),
> keyslot.slot_key);
> +      grub_printf_ (N_("Slot \"%"PRIuGRUB_UINT64_T"\" opened\n"),
> keyslot.json_slot_key); 
>        candidate_key_len = keyslot.key_size;
>        break;
> diff --git a/include/grub/disk.h b/include/grub/disk.h
> index 0fb727d3d..f9227f285 100644
> --- a/include/grub/disk.h
> +++ b/include/grub/disk.h
> @@ -27,6 +27,8 @@
>  #include <grub/device.h>
>  /* For NULL.  */
>  #include <grub/mm.h>
> +/* For ALIGN_UP.  */
> +#include <grub/misc.h>
>  
>  /* These are used to set a device id. When you add a new disk device,
>     you must define a new id for it here.  */
> @@ -174,6 +176,21 @@ typedef struct grub_disk_memberlist
> *grub_disk_memberlist_t; /* Return value of
> grub_disk_native_sectors() in case disk size is unknown. */ #define
> GRUB_DISK_SIZE_UNKNOWN	 0xffffffffffffffffULL 
> +/* Convert sector number from disk sized sectors to a log-size sized
> sector. */ +static inline grub_disk_addr_t
> +grub_disk_convert_sector (grub_disk_t disk,
> +			  grub_disk_addr_t sector,
> +			  grub_size_t log_sector_size)
> +{
> +  if (disk->log_sector_size < log_sector_size)
> +    {
> +      sector = ALIGN_UP (sector, 1 << (log_sector_size /
> disk->log_sector_size));
> +      return sector >> (log_sector_size - disk->log_sector_size);
> +    }
> +  else
> +    return sector << (disk->log_sector_size - log_sector_size);
> +}
> +
>  /* Convert to GRUB native disk sized sector from disk sized sector.
> */ static inline grub_disk_addr_t
>  grub_disk_from_native_sector (grub_disk_t disk, grub_disk_addr_t
> sector)


  parent reply	other threads:[~2020-12-08  4:29 UTC|newest]

Thread overview: 289+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-03 21:45 [PATCH 00/10] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-10-03 21:45 ` [PATCH 01/10] luks2: Fix use of incorrect index and some grub_error() messages Glenn Washburn
2020-10-03 21:45 ` [PATCH 02/10] luks2: Improve readability in luks2_get_keyslot Glenn Washburn
2020-10-03 21:45 ` [PATCH 03/10] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-10-03 21:45 ` [PATCH 04/10] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-10-03 21:45 ` [PATCH 05/10] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain' Glenn Washburn
2020-10-03 21:45 ` [PATCH 06/10] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-10-03 21:46 ` [PATCH 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-10-03 21:46 ` [PATCH 08/10] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-10-03 21:46 ` [PATCH 09/10] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-10-03 21:46 ` [PATCH 10/10] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 00/10] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-10-03 22:55   ` [PATCH v2 01/10] luks2: Fix use of incorrect index and some grub_error() messages Glenn Washburn
2020-10-09  9:38     ` Patrick Steinhardt
2020-10-03 22:55   ` [PATCH v2 02/10] luks2: Improve readability in luks2_get_keyslot Glenn Washburn
2020-10-03 22:55   ` [PATCH v2 03/10] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-10-09  9:44     ` Patrick Steinhardt
2020-10-18 19:05       ` Glenn Washburn
2020-10-03 22:55   ` [PATCH v2 04/10] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-10-09  9:45     ` Patrick Steinhardt
2020-10-03 22:55   ` [PATCH v2 05/10] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain' Glenn Washburn
2020-10-03 22:55   ` [PATCH v2 06/10] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-10-09  9:50     ` Patrick Steinhardt
2020-10-18 18:38       ` Glenn Washburn
2020-10-03 22:55   ` [PATCH v2 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-10-18 18:23     ` Glenn Washburn
2020-10-19 11:27       ` Daniel Kiper
2020-10-03 22:55   ` [PATCH v2 08/10] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-10-09  9:55     ` Patrick Steinhardt
2020-10-03 22:55   ` [PATCH v2 09/10] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-10-09  9:56     ` Patrick Steinhardt
2020-10-03 22:55   ` [PATCH v2 10/10] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-10-09 10:00     ` Patrick Steinhardt
2020-10-19 16:27       ` Glenn Washburn
2020-10-23 17:46         ` Patrick Steinhardt
2020-10-09 10:01   ` [PATCH v2 00/10] Cryptodisk fixes for v2.06 redux Patrick Steinhardt
2020-10-19 23:09     ` [PATCH v3 " Glenn Washburn
2020-10-19 23:09       ` [PATCH v3 01/10] luks2: Fix use of incorrect index and some grub_error() messages Glenn Washburn
2020-10-23 12:08         ` Daniel Kiper
2020-10-23 17:52           ` Patrick Steinhardt
2020-10-19 23:09       ` [PATCH v3 02/10] luks2: Improve readability in luks2_get_keyslot Glenn Washburn
2020-10-23 12:14         ` Daniel Kiper
2020-10-29 21:52           ` Glenn Washburn
2020-10-30 13:15             ` Daniel Kiper
2020-10-19 23:09       ` [PATCH v3 03/10] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-10-23 17:55         ` Patrick Steinhardt
2020-10-19 23:09       ` [PATCH v3 04/10] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-10-23 18:03         ` Patrick Steinhardt
2020-10-19 23:09       ` [PATCH v3 05/10] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain' Glenn Washburn
2020-10-23 12:21         ` Daniel Kiper
2020-10-19 23:09       ` [PATCH v3 06/10] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-10-23 18:09         ` Patrick Steinhardt
2020-10-26 15:43           ` Daniel Kiper
2020-10-30 20:47         ` Daniel Kiper
2020-11-06 19:08           ` Glenn Washburn
2020-11-19 14:25             ` Daniel Kiper
2020-11-20  5:18               ` Glenn Washburn
2020-11-20 14:17                 ` Daniel Kiper
2020-11-20 23:28                   ` Glenn Washburn
2020-10-19 23:09       ` [PATCH v3 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-10-23 18:01         ` Patrick Steinhardt
2020-10-26 18:25           ` Glenn Washburn
2020-10-28 18:16             ` Patrick Steinhardt
2020-10-27 18:03         ` Daniel Kiper
2020-10-29 21:51           ` Glenn Washburn
2020-10-30 13:11             ` Daniel Kiper
2020-10-19 23:09       ` [PATCH v3 08/10] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-10-23 17:58         ` Patrick Steinhardt
2020-10-27 18:06           ` Daniel Kiper
2020-10-19 23:09       ` [PATCH v3 09/10] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-10-23 17:58         ` Patrick Steinhardt
2020-10-27 18:07           ` Daniel Kiper
2020-10-19 23:09       ` [PATCH v3 10/10] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-10-23 18:01         ` Patrick Steinhardt
2020-10-27 18:09           ` Daniel Kiper
2020-10-27 19:25       ` [PATCH v3 00/10] Cryptodisk fixes for v2.06 redux Daniel Kiper
2020-11-02 15:56         ` Daniel Kiper
2020-11-03 18:50           ` Glenn Washburn
2020-11-04 12:44             ` Daniel Kiper
2020-11-07  4:44       ` [PATCH v4 00/15] " Glenn Washburn
2020-11-07  4:44         ` [PATCH v4 01/15] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-11-15  9:37           ` Patrick Steinhardt
2020-11-16 16:22             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 02/15] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-11-15  9:38           ` Patrick Steinhardt
2020-11-16 16:25             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 03/15] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-11-15  9:39           ` Patrick Steinhardt
2020-11-16 16:27             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 04/15] types: Define GRUB_CHAR_BIT based on compiler macro instead of using literal Glenn Washburn
2020-11-15  9:42           ` Patrick Steinhardt
2020-11-16 16:31             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 05/15] luks2: Use correct index variable when looping in luks2_get_keyslot Glenn Washburn
2020-11-15  9:43           ` Patrick Steinhardt
2020-11-16 16:35             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 06/15] luks2: Rename variable i to keyslot_idx " Glenn Washburn
2020-11-15  9:43           ` Patrick Steinhardt
2020-11-16 16:37             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 07/15] luks2: Rename index variable j to i Glenn Washburn
2020-11-15  9:44           ` Patrick Steinhardt
2020-11-16 16:38             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 08/15] luks2: Split idx into three variables: keyslot_key, digest_key, segment_key Glenn Washburn
2020-11-15  9:48           ` Patrick Steinhardt
2020-11-17 13:47             ` Daniel Kiper
2020-11-20  8:39               ` Glenn Washburn
2020-11-07  4:44         ` [PATCH v4 09/15] luks2: Improve error messages in luks2_get_keyslot Glenn Washburn
2020-11-15  9:52           ` Patrick Steinhardt
2020-11-17 13:51             ` Daniel Kiper
2020-11-07  4:44         ` [PATCH v4 10/15] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-11-15  9:55           ` Patrick Steinhardt
2020-11-20  8:40             ` Glenn Washburn
2020-11-07  4:44         ` [PATCH v4 11/15] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-11-15  9:59           ` Patrick Steinhardt
2020-11-20  8:41             ` Glenn Washburn
2020-11-07  4:44         ` [PATCH v4 12/15] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-11-15 10:00           ` Patrick Steinhardt
2020-11-17 14:06           ` Daniel Kiper
2020-11-20  8:41             ` Glenn Washburn
2020-11-07  4:44         ` [PATCH v4 13/15] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-11-15 10:07           ` Patrick Steinhardt
2020-11-20  8:42             ` Glenn Washburn
2020-11-22 12:30               ` Patrick Steinhardt
2020-11-07  4:44         ` [PATCH v4 14/15] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-11-15 10:13           ` Patrick Steinhardt
2020-11-20  8:44             ` Glenn Washburn
2020-11-17 14:26           ` Daniel Kiper
2020-11-20  8:44             ` Glenn Washburn
2020-11-20 20:24               ` Daniel Kiper
2020-11-20 23:58                 ` Glenn Washburn
2020-11-07  4:44         ` [PATCH v4 15/15] luks2: Error check segment.sector_size Glenn Washburn
2020-11-15 10:42           ` Patrick Steinhardt
2020-11-17 14:28             ` Daniel Kiper
2020-11-17 14:34         ` [PATCH v4 00/15] Cryptodisk fixes for v2.06 redux Daniel Kiper
2020-11-23  5:23         ` [PATCH v5 00/11] " Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 01/11] luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 02/11] luks: Use more intuitive slot key instead of index in user messages Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 03/11] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 04/11] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 05/11] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 06/11] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 07/11] luks2: Error check segment.sector_size Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 08/11] whitespace: convert 8 spaces to tabs Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 09/11] mips: Enable __clzdi2() Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 10/11] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers Glenn Washburn
2020-11-23  5:23           ` [PATCH v5 11/11] luks2: Use grub_log2ull to calculate log_sector_size and improve readability Glenn Washburn
2020-11-27  9:03         ` [PATCH v6 00/12] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-11-27  9:03           ` [PATCH v6 01/12] luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-12-02 17:01             ` Daniel Kiper
2020-12-03  7:23               ` Glenn Washburn
2020-12-03 12:35                 ` Daniel Kiper
2020-12-03 16:46                   ` Glenn Washburn
2020-12-04 13:23                     ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 02/12] luks2: Use more intuitive slot key instead of index in user messages Glenn Washburn
2020-12-02 17:23             ` Daniel Kiper
2020-12-03  7:24               ` Glenn Washburn
2020-12-03 12:39                 ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 03/12] luks2: Remove unused argument in grub_error Glenn Washburn
2020-12-02 17:24             ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 04/12] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-12-02 17:37             ` Daniel Kiper
2020-12-03  8:29               ` Glenn Washburn
2020-12-03 12:44                 ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 05/12] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-12-02 17:56             ` Daniel Kiper
2020-12-03  8:54               ` Glenn Washburn
2020-12-03 12:45                 ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 06/12] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-12-03 13:04             ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 07/12] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-12-03 13:31             ` Daniel Kiper
2020-12-03 16:24               ` Glenn Washburn
2020-12-04 13:19                 ` Daniel Kiper
2020-12-04 14:51                   ` Glenn Washburn
2020-11-27  9:03           ` [PATCH v6 08/12] luks2: Error check segment.sector_size Glenn Washburn
2020-12-03 13:52             ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 09/12] whitespace: convert 8 spaces to tabs Glenn Washburn
2020-12-03 13:53             ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 10/12] mips: Enable __clzdi2() Glenn Washburn
2020-12-03 14:00             ` Daniel Kiper
2020-12-03 15:58               ` Glenn Washburn
2020-12-04 13:07                 ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 11/12] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers Glenn Washburn
2020-12-03 14:02             ` Daniel Kiper
2020-11-27  9:03           ` [PATCH v6 12/12] luks2: Use grub_log2ull to calculate log_sector_size and improve readability Glenn Washburn
2020-12-03 14:13             ` Daniel Kiper
2020-12-04 16:43         ` [PATCH v7 00/17] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-12-04 16:43           ` [PATCH v7 01/17] disk: Rename grub_disk_get_size to grub_disk_native_sectors Glenn Washburn
2020-12-06 13:24             ` Patrick Steinhardt
2020-12-07 19:38             ` Daniel Kiper
2020-12-04 16:43           ` [PATCH v7 02/17] misc: Add parentheses around ALIGN_UP and ALIGN_DOWN arguments Glenn Washburn
2020-12-06 13:24             ` Patrick Steinhardt
2020-12-07 19:50             ` Daniel Kiper
2020-12-04 16:43           ` [PATCH v7 03/17] luks2: Remove unused argument in grub_error Glenn Washburn
2020-12-06 13:25             ` Patrick Steinhardt
2020-12-07 19:52             ` Daniel Kiper
2020-12-08 17:45               ` Glenn Washburn
2020-12-08 18:32                 ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 04/17] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to Glenn Washburn
2020-12-06 13:26             ` Patrick Steinhardt
2020-12-07 19:58             ` Daniel Kiper
2020-12-04 16:43           ` [PATCH v7 05/17] luks2: Add json_slot_key member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-12-06 13:29             ` Patrick Steinhardt
2020-12-07 20:02               ` Daniel Kiper
2020-12-08  4:06                 ` Glenn Washburn
2020-12-08  6:38                   ` Patrick Steinhardt
2020-12-08 17:55                     ` Glenn Washburn
2020-12-04 16:43           ` [PATCH v7 06/17] luks2: Use more intuitive slot key instead of index in user messages Glenn Washburn
2020-12-06 13:31             ` Patrick Steinhardt
2020-12-07 20:15             ` Daniel Kiper
2020-12-08 17:56               ` Glenn Washburn
2020-12-04 16:43           ` [PATCH v7 07/17] luks2: Add string "index" to user strings using a json index Glenn Washburn
2020-12-06 13:31             ` Patrick Steinhardt
2020-12-07 20:17             ` Daniel Kiper
2020-12-04 16:43           ` [PATCH v7 08/17] cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals Glenn Washburn
2020-12-06 13:32             ` Patrick Steinhardt
2020-12-07 20:18             ` Daniel Kiper
2020-12-04 16:43           ` [PATCH v7 09/17] cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals Glenn Washburn
2020-12-06 13:33             ` Patrick Steinhardt
2020-12-07 20:22             ` Daniel Kiper
2020-12-08  4:06               ` Glenn Washburn
2020-12-04 16:43           ` [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-12-06 13:34             ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 11/17] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-12-06 19:21             ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 12/17] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-12-06 19:35             ` Patrick Steinhardt
2020-12-08  4:04               ` Glenn Washburn
2020-12-08  6:41                 ` Patrick Steinhardt
2020-12-08  4:28             ` Glenn Washburn [this message]
2020-12-04 16:43           ` [PATCH v7 13/17] luks2: Error check segment.sector_size Glenn Washburn
2020-12-06 19:35             ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 14/17] whitespace: convert 8 spaces to tabs Glenn Washburn
2020-12-06 13:35             ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 15/17] mips: Enable __clzdi2() Glenn Washburn
2020-12-06 19:36             ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 16/17] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers Glenn Washburn
2020-12-06 13:36             ` Patrick Steinhardt
2020-12-04 16:43           ` [PATCH v7 17/17] luks2: Use grub_log2ull to calculate log_sector_size and improve readability Glenn Washburn
2020-12-06 19:44             ` Patrick Steinhardt
2020-12-06 13:38           ` [PATCH v7 00/17] Cryptodisk fixes for v2.06 redux Patrick Steinhardt
2020-12-08 22:45         ` [PATCH v8 00/18] " Glenn Washburn
2020-12-08 22:45           ` [PATCH v8 01/18] disk: Rename grub_disk_get_size to grub_disk_native_sectors Glenn Washburn
2020-12-09 17:39             ` Daniel Kiper
2020-12-08 22:45           ` [PATCH v8 02/18] misc: Add parentheses around ALIGN_UP and ALIGN_DOWN arguments Glenn Washburn
2020-12-08 22:45           ` [PATCH v8 03/18] whitespace: convert 8 spaces to tabs Glenn Washburn
2020-12-08 22:45           ` [PATCH v8 04/18] luks2: Remove unused argument in grub_error Glenn Washburn
2020-12-08 22:45           ` [PATCH v8 05/18] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to Glenn Washburn
2020-12-08 22:45           ` [PATCH v8 06/18] luks2: Add idx member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-12-09 18:02             ` Daniel Kiper
2020-12-12  8:07             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 07/18] luks2: Use more intuitive object name instead of json index in user messages Glenn Washburn
2020-12-09 18:05             ` Daniel Kiper
2020-12-12  8:09             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 08/18] luks2: Rename json index variables to names that they are obviously json indexes Glenn Washburn
2020-12-09 18:07             ` Daniel Kiper
2020-12-12  8:10             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 09/18] luks2: Add string "index" to user strings using a json index Glenn Washburn
2020-12-09 18:09             ` Daniel Kiper
2020-12-12  8:11             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 10/18] cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals Glenn Washburn
2020-12-09 18:12             ` Daniel Kiper
2020-12-12  8:12             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 11/18] cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals Glenn Washburn
2020-12-10 14:51             ` Daniel Kiper
2020-12-12  8:13             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 12/18] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-12-12  8:14             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 13/18] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-12-12  8:15             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 14/18] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-12-10 16:07             ` Daniel Kiper
2020-12-12  1:10               ` Glenn Washburn
2020-12-12 15:19                 ` Daniel Kiper
2020-12-15 22:23                   ` Glenn Washburn
2020-12-08 22:45           ` [PATCH v8 15/18] luks2: Error check segment.sector_size Glenn Washburn
2020-12-10 16:08             ` Daniel Kiper
2020-12-12  8:16             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 16/18] mips: Enable __clzdi2() Glenn Washburn
2020-12-10 16:09             ` Daniel Kiper
2020-12-12  8:16             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 17/18] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers Glenn Washburn
2020-12-12  8:17             ` Patrick Steinhardt
2020-12-08 22:45           ` [PATCH v8 18/18] luks2: Use grub_log2ull to calculate log_sector_size and improve readability Glenn Washburn
2020-12-12  8:18             ` Patrick Steinhardt
2020-12-10 16:20           ` [PATCH v8 00/18] Cryptodisk fixes for v2.06 redux Daniel Kiper
2020-12-12  8:20             ` Patrick Steinhardt
2020-12-12 14:40               ` Daniel Kiper
2020-12-12 17:36                 ` Patrick Steinhardt
2020-12-14 12:13                   ` Daniel Kiper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201207222853.4853d3fa@crass-HP-ZBook-15-G2 \
    --to=development@efficientek.com \
    --cc=dkiper@net-space.pl \
    --cc=grub-devel@gnu.org \
    --cc=ps@pks.im \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.