Grub Development Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox