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>,
	Glenn Washburn <development@efficientek.com>
Subject: [PATCH v5 00/11] Cryptodisk fixes for v2.06 redux
Date: Sun, 22 Nov 2020 23:23:13 -0600	[thread overview]
Message-ID: <cover.1606108123.git.development@efficientek.com> (raw)
In-Reply-To: <cover.1604723348.git.development@efficientek.com>

This incorporates changes as noted in the v4 thread. This series has been
rebased on the new master from accepted patches from v4. This means that patch
8 from v4 would be patch 1 in this series.  However, I reworked 8-10 from v4
from 3 patches into 2, and I believe simplified the changeset. So v4 patches
8-10 are equivalent to patches 1-2 here.

Also, the v4 patch 14 has been nearly completely reworked to be easier to follow
and more precisely reflect the error handling I wanted.

The changes that created and used grub_log2ull in v4 patch 14 has been pulled
out into two separate patches. And there is a new patch converting spaces to
tabs missed in the original commit of luks2.

Glenn

Glenn Washburn (11):
  luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest
  luks: Use more intuitive slot key instead of index in user messages.
  cryptodisk: Replace some literals with constants in
    grub_cryptodisk_endecrypt
  luks2: grub_cryptodisk_t->total_sectors is the max number of device
    native sectors
  cryptodisk: Properly handle non-512 byte sized sectors
  luks2: Better error handling when setting up the cryptodisk
  luks2: Error check segment.sector_size
  whitespace: convert 8 spaces to tabs.
  mips: Enable __clzdi2()
  misc: Add grub_log2ull macro for calculating log base 2 of 64-bit
    integers
  luks2: Use grub_log2ull to calculate log_sector_size and improve
    readability

 grub-core/disk/cryptodisk.c  |  64 ++++++++++------
 grub-core/disk/luks.c        |   5 +-
 grub-core/disk/luks2.c       | 144 ++++++++++++++++++++++++++++-------
 grub-core/kern/compiler-rt.c |   2 +-
 include/grub/compiler-rt.h   |   2 +-
 include/grub/cryptodisk.h    |   8 +-
 include/grub/disk.h          |  16 ++++
 include/grub/misc.h          |   3 +
 include/grub/types.h         |   5 ++
 9 files changed, 192 insertions(+), 57 deletions(-)

Range-diff against v4:
 1:  f1d530757 <  -:  --------- luks2: Split idx into three variables: keyslot_key, digest_key, segment_key.
 2:  b90ab8e75 <  -:  --------- luks2: Improve error messages in luks2_get_keyslot.
 -:  --------- >  1:  ec506b668 luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest
 3:  51add6875 !  2:  3a9fca36f luks2: Use more intuitive keyslot key instead of index when naming keyslot.
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    luks2: Use more intuitive keyslot key instead of index when naming keyslot.
    +    luks: Use more intuitive slot key instead of index in user messages.
     
    -    Use the keyslot key value in the keyslot json array rather than the index of
    -    the keyslot in the json array. This is less confusing for the end user. For
    -    example, say you have a LUKS2 device with a key in slot 1 and slot 4. When
    -    using the password for slot 4 to unlock the device, the messages using the
    -    index of the keyslot will mention keyslot 1 (its a zero-based index).
    -    Furthermore, with this change the keyslot number will align with the number
    -    used to reference the keyslot when using the --key-slot argument to
    -    cryptsetup.
    +    Use the slot key name in the json array rather than the 0 based index in the
    +    json array for keyslots, segments, and digests. This is less confusing for
    +    the end user. For example, say you have a LUKS2 device with a key in slot 1
    +    and slot 4. When using the password for slot 4 to unlock the device, the
    +    messages using the index of the keyslot will mention keyslot 1 (its a
    +    zero-based index). Furthermore, with this change the keyslot number will
    +    align with the number used to reference the keyslot when using the
    +    --key-slot argument to cryptsetup. Error messages now distinguish between
    +    indexes and slot keys. The former include the string "index" in the error
    +    string, and the later are surrounded in quotes.
     
      ## grub-core/disk/luks2.c ##
    -@@ grub-core/disk/luks2.c: typedef struct grub_luks2_header grub_luks2_header_t;
    - 
    - struct grub_luks2_keyslot
    - {
    -+  grub_uint64_t slot_key;
    -   grub_int64_t key_size;
    -   grub_int64_t priority;
    -   struct
    -@@ grub-core/disk/luks2.c: typedef struct grub_luks2_keyslot grub_luks2_keyslot_t;
    - 
    - struct grub_luks2_segment
    - {
    -+  grub_uint64_t slot_key;
    -   grub_uint64_t offset;
    -   const char	*size;
    -   const char	*encryption;
    -@@ grub-core/disk/luks2.c: typedef struct grub_luks2_segment grub_luks2_segment_t;
    - 
    - struct grub_luks2_digest
    - {
    -+  grub_uint64_t slot_key;
    -   /* Both keyslots and segments are interpreted as bitfields here */
    -   grub_uint64_t	keyslots;
    -   grub_uint64_t	segments;
     @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_digest_t *d, grub_luks2_s
    - {
    -   grub_json_t keyslots, keyslot, digests, digest, segments, segment;
    -   grub_size_t i, size;
    --  grub_uint64_t keyslot_key, digest_key, segment_key;
    -+  grub_uint64_t digest_key, segment_key;
    - 
    -   /* Get nth keyslot */
    -   if (grub_json_getvalue (&keyslots, root, "keyslots") ||
    -       grub_json_getchild (&keyslot, &keyslots, keyslot_idx) ||
    --      grub_json_getuint64 (&keyslot_key, &keyslot, NULL) ||
    -+      grub_json_getuint64 (&k->slot_key, &keyslot, NULL) ||
    +       grub_json_getuint64 (&k->slot_key, &keyslot, NULL) ||
            grub_json_getchild (&keyslot, &keyslot, 0) ||
            luks2_parse_keyslot (k, &keyslot))
    -     return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse keyslot index %"PRIuGRUB_SIZE, keyslot_idx);
    +-    return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse keyslot %"PRIuGRUB_SIZE, keyslot_idx);
    ++    return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse keyslot index %"PRIuGRUB_SIZE, keyslot_idx);
    + 
    +   /* Get digest that matches the keyslot. */
    +   if (grub_json_getvalue (&digests, root, "digests") ||
     @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_digest_t *d, grub_luks2_s
    + 	  grub_json_getuint64 (&d->slot_key, &digest, NULL) ||
    +           grub_json_getchild (&digest, &digest, 0) ||
                luks2_parse_digest (d, &digest))
    - 	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest index %"PRIuGRUB_SIZE, i);
    +-	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest %"PRIuGRUB_SIZE, i);
    ++	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest index %"PRIuGRUB_SIZE, i);
      
    --      if ((d->keyslots & (1 << keyslot_key)))
    -+      d->slot_key = digest_key;
    -+      if ((d->keyslots & (1 << k->slot_key)))
    +       if ((d->keyslots & (1 << k->slot_key)))
      	break;
          }
        if (i == size)
    --      return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for keyslot \"%"PRIuGRUB_UINT64_T"\"", keyslot_key);
    +-      return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for keyslot %"PRIuGRUB_SIZE, keyslot_idx);
     +      return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No digest for keyslot \"%"PRIuGRUB_UINT64_T"\"", k->slot_key);
      
        /* Get segment that matches the digest. */
        if (grub_json_getvalue (&segments, root, "segments") ||
     @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_digest_t *d, grub_luks2_s
    + 	  grub_json_getuint64 (&s->slot_key, &segment, NULL) ||
    + 	  grub_json_getchild (&segment, &segment, 0) ||
                luks2_parse_segment (s, &segment))
    - 	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment index %"PRIuGRUB_SIZE, i);
    +-	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment %"PRIuGRUB_SIZE, i);
    ++	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment index %"PRIuGRUB_SIZE, i);
      
    -+      s->slot_key = segment_key;
    -       if ((d->segments & (1 << segment_key)))
    +       if ((d->segments & (1 << s->slot_key)))
      	break;
          }
    +   if (i == size)
    +-    return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for digest %"PRIuGRUB_SIZE);
    ++    return grub_error (GRUB_ERR_FILE_NOT_FOUND, "No segment for digest \"%"PRIuGRUB_UINT64_T"\"", d->slot_key);
    + 
    +   return GRUB_ERR_NONE;
    + }
     @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      
            if (keyslot.priority == 0)
 4:  39e382053 !  3:  f45f5f3dd cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt.
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt.
    +    cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt
     
         This should improve readability of code by providing clues as to what the
         value represents. The new macro GRUB_TYPE_BITS(type) returns the number of
    @@ include/grub/types.h: typedef grub_int32_t	grub_ssize_t;
      #endif
      # define GRUB_LONG_MIN (-GRUB_LONG_MAX - 1)
      
    -+#define GRUB_TYPE_U_MAX(type) ((2 * ((1ULL << (GRUB_TYPE_BITS (type) - 1)) - 1)) + 1)
    ++#define GRUB_TYPE_U_MAX(type) ((typeof (1ULL))((typeof (type))(~0)))
     +#define GRUB_TYPE_U_MIN(type) 0ULL
     +
      typedef grub_uint64_t grub_properly_aligned_t;
 5:  7696a000f !  4:  da2b63607 luks2: grub_cryptodisk_t->total_length is the max number of device native sectors
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    luks2: grub_cryptodisk_t->total_length is the max number of device native sectors
    +    luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors
     
    -    The total_length field is named confusingly because length usually refers to
    -    bytes, whereas in this case its really the total number of sectors on the
    -    device. Also counter-intuitively, grub_disk_get_size returns the total
    -    number of device native sectors. We need to convert the sectors from the
    -    size of the underlying device to the cryptodisk sector size. And
    -    segment.size is in bytes which need to be converted to cryptodisk sectors.
    +    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. And counter-intuitively, grub_disk_get_size
    +    returns the total number of device native sectors.
     
         Also, removed an empty statement.
     
 6:  43437eb13 !  5:  036304262 cryptodisk: Properly handle non-512 byte sized sectors.
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    cryptodisk: Properly handle non-512 byte sized sectors.
    +    cryptodisk: Properly handle non-512 byte sized sectors
     
         By default, dm-crypt internally uses an IV that corresponds to 512-byte
         sectors, even when a larger sector size is specified. What this means is
    @@ grub-core/disk/cryptodisk.c: grub_cryptodisk_endecrypt (struct grub_cryptodisk *
          {
            grub_size_t sz = ((dev->cipher->cipher->blocksize
      			 + sizeof (grub_uint32_t) - 1)
    - 			/ sizeof (grub_uint32_t));
    --      grub_uint32_t iv[(GRUB_CRYPTO_MAX_CIPHER_BLOCKSIZE + 3) / 4];
    -+      grub_uint32_t iv[(GRUB_CRYPTO_MAX_CIPHER_BLOCKSIZE + 3) / 4] __attribute__((aligned (sizeof (grub_uint64_t))));
    - 
    -       if (dev->rekey)
    - 	{
     @@ grub-core/disk/cryptodisk.c: grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
      	    if (!ctx)
      	      return GPG_ERR_OUT_OF_MEMORY;
    @@ grub-core/disk/cryptodisk.c: grub_cryptodisk_endecrypt (struct grub_cryptodisk *
     +	   * 32 bits.
     +	   */
     +	  {
    -+	    grub_uint64_t *iv64 = (grub_uint64_t *) iv;
    -+	    *iv64 = grub_cpu_to_le64 (sector << (log_sector_size
    ++	    grub_uint64_t iv64;
    ++
    ++	    iv64 = grub_cpu_to_le64 (sector << (log_sector_size
     +						 - GRUB_CRYPTODISK_IV_LOG_SIZE));
    ++	    grub_set_unaligned64 (iv, iv64);
     +	    if (dev->mode_iv == GRUB_CRYPTODISK_MODE_IV_PLAIN)
     +	      iv[1] = 0;
     +	  }
 7:  71dadcd07 <  -:  --------- luks2: Better error handling when setting up the cryptodisk.
 -:  --------- >  6:  7bf56c4b3 luks2: Better error handling when setting up the cryptodisk
 8:  cc96baf5a !  7:  b167b014d luks2: Error check segment.sector_size.
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    luks2: Error check segment.sector_size.
    +    luks2: Error check segment.sector_size
     
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      
     +      /* 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))
    ++	    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.",
    ++				 " 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 = grub_log2ull (segment.sector_size);
    +       crypt->log_sector_size = sizeof (unsigned int) * 8
 -:  --------- >  8:  c503ecbb8 whitespace: convert 8 spaces to tabs.
 -:  --------- >  9:  8316e94ce mips: Enable __clzdi2()
 -:  --------- > 10:  37257725c misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers
 -:  --------- > 11:  8dd088cad luks2: Use grub_log2ull to calculate log_sector_size and improve readability
-- 
2.27.0



  parent reply	other threads:[~2020-11-23  5:24 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         ` Glenn Washburn [this message]
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
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=cover.1606108123.git.development@efficientek.com \
    --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.