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 v7 00/17] Cryptodisk fixes for v2.06 redux
Date: Fri,  4 Dec 2020 10:43:29 -0600	[thread overview]
Message-ID: <cover.1607098915.git.development@efficientek.com> (raw)
In-Reply-To: <cover.1604723348.git.development@efficientek.com>

This patch series is an update to reflect changes suggested in v6. Of note,
there are a few new patches: 01, 02, and 04.

  01: Daniel suggested to renae grub_disk_get_size to grub_disk_native_sectors
  02: Make ALIGN_UP and ALIGN_DOWN safer
  04: Make luks2_parse_digest() safer

Glenn

Glenn Washburn (17):
  disk: Rename grub_disk_get_size to grub_disk_native_sectors
  misc: Add parentheses around ALIGN_UP and ALIGN_DOWN arguments
  luks2: Remove unused argument in grub_error
  luks2: Make sure all fields of output argument in luks2_parse_digest()
    are written to
  luks2: Add json_slot_key member to struct
    grub_luks2_keyslot/segment/digest
  luks2: Use more intuitive slot key instead of index in user messages
  luks2: Add string "index" to user strings using a json index.
  cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals
  cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals
  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/diskfilter.c        |  12 +--
 grub-core/disk/dmraid_nvidia.c     |   2 +-
 grub-core/disk/efi/efidisk.c       |   2 +-
 grub-core/disk/geli.c              |   6 +-
 grub-core/disk/ldm.c               |   4 +-
 grub-core/disk/luks.c              |   7 +-
 grub-core/disk/luks2.c             | 160 +++++++++++++++++++++++------
 grub-core/disk/mdraid1x_linux.c    |   2 +-
 grub-core/disk/mdraid_linux.c      |   2 +-
 grub-core/fs/cbfs.c                |  16 +--
 grub-core/fs/nilfs2.c              |   2 +-
 grub-core/fs/zfs/zfs.c             |   4 +-
 grub-core/kern/compiler-rt.c       |   2 +-
 grub-core/kern/disk.c              |   2 +-
 grub-core/kern/mips/arc/init.c     |   2 +-
 grub-core/normal/misc.c            |   6 +-
 grub-core/osdep/windows/platform.c |   2 +-
 include/grub/compiler-rt.h         |   2 +-
 include/grub/cryptodisk.h          |   8 +-
 include/grub/disk.h                |  21 +++-
 include/grub/misc.h                |   7 +-
 include/grub/types.h               |   9 ++
 util/grub-install.c                |   2 +-
 util/grub-probe.c                  |   2 +-
 25 files changed, 249 insertions(+), 99 deletions(-)

Range-diff against v6:
 -:  --------- >  1:  7e79d6fb1 disk: Rename grub_disk_get_size to grub_disk_native_sectors
 -:  --------- >  2:  77f9671d5 misc: Add parentheses around ALIGN_UP and ALIGN_DOWN arguments
 3:  8527be145 !  3:  d1a36aa79 luks2: Remove unused argument in grub_error
    @@ Metadata
      ## Commit message ##
         luks2: Remove unused argument in grub_error
     
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
    +
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_parse_segment (grub_luks2_segment_t *out, const grub_json_t *segment)
            grub_json_getstring (&out->size, segment, "size") ||
 -:  --------- >  4:  dab43e033 luks2: Make sure all fields of output argument in luks2_parse_digest() are written to
 1:  6262aefe9 !  5:  35f47644c luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest
    +    luks2: Add json_slot_key member to struct grub_luks2_keyslot/segment/digest
     
         This allows code using these structs to know the named key associated with
         these json data structures. In the future we can use these to provide better
         error messages to the user.
     
    -    Get rid of idx variable in luks2_get_keyslot which was overloaded to be used
    -    for both keyslot and segment slot keys.
    +    Get rid of idx variable in luks2_get_keyslot() which was overloaded to be
    +    used for both keyslot and segment slot keys.
     
      ## 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;
    ++  /* The integer key to the associative array of keyslots */
    ++  grub_uint64_t json_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 json_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;
    ++  grub_uint64_t json_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_d
        if (grub_json_getvalue (&keyslots, root, "keyslots") ||
            grub_json_getchild (&keyslot, &keyslots, keyslot_idx) ||
     -      grub_json_getuint64 (&idx, &keyslot, NULL) ||
    -+      grub_json_getuint64 (&k->slot_key, &keyslot, NULL) ||
    ++      grub_json_getuint64 (&k->json_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 %"PRIuGRUB_SIZE, keyslot_idx);
    @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_d
        for (i = 0; i < size; i++)
          {
            if (grub_json_getchild (&digest, &digests, i) ||
    -+	  grub_json_getuint64 (&d->slot_key, &digest, NULL) ||
    ++	  grub_json_getuint64 (&d->json_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 %"PRIuGRUB_SIZE, i);
      
     -      if ((d->keyslots & (1 << idx)))
    -+      if ((d->keyslots & (1 << k->slot_key)))
    ++      if ((d->keyslots & (1 << k->json_slot_key)))
      	break;
          }
        if (i == size)
    @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_d
          {
            if (grub_json_getchild (&segment, &segments, i) ||
     -	  grub_json_getuint64 (&idx, &segment, NULL) ||
    -+	  grub_json_getuint64 (&s->slot_key, &segment, NULL) ||
    ++	  grub_json_getuint64 (&s->json_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 %"PRIuGRUB_SIZE, i);
      
     -      if ((d->segments & (1 << idx)))
    -+      if ((d->segments & (1 << s->slot_key)))
    ++      if ((d->segments & (1 << s->json_slot_key)))
      	break;
          }
        if (i == size)
 2:  3cd52834b !  6:  e52887944 luks2: Use more intuitive slot key instead of index in user messages.
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    luks2: Use more intuitive slot key instead of index in user messages.
    +    luks2: Use more intuitive slot key instead of index in user messages
     
         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
    @@ Commit message
         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.
    +    --key-slot argument to cryptsetup.
     
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_digest_t *d, grub_luks2_s
    -       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 %"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_getuint64 (&d->json_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 %"PRIuGRUB_SIZE, i);
     +	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse digest index %"PRIuGRUB_SIZE, i);
      
    -       if ((d->keyslots & (1 << k->slot_key)))
    +       if ((d->keyslots & (1 << k->json_slot_key)))
      	break;
          }
        if (i == size)
    @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_d
        /* 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 %"PRIuGRUB_SIZE, i);
    -+	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment index %"PRIuGRUB_SIZE, i);
    - 
    -       if ((d->segments & (1 << s->slot_key)))
      	break;
          }
        if (i == size)
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
            if (keyslot.priority == 0)
      	{
     -	  grub_dprintf ("luks2", "Ignoring keyslot %"PRIuGRUB_SIZE" due to priority\n", i);
    -+	  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.slot_key);
      	  continue;
              }
      
     -      grub_dprintf ("luks2", "Trying keyslot %"PRIuGRUB_SIZE"\n", i);
    -+      grub_dprintf ("luks2", "Trying keyslot %"PRIuGRUB_UINT64_T"\n", keyslot.slot_key);
    ++      grub_dprintf ("luks2", "Trying keyslot \"%"PRIuGRUB_UINT64_T"\"\n", keyslot.slot_key);
      
            /* Set up disk according to keyslot's segment. */
            crypt->offset_sectors = grub_divmod64 (segment.offset, segment.sector_size, NULL);
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      	{
     -	  grub_dprintf ("luks2", "Decryption with keyslot %"PRIuGRUB_SIZE" failed: %s\n",
     -			i, grub_errmsg);
    -+	  grub_dprintf ("luks2", "Decryption with keyslot %"PRIuGRUB_UINT64_T" failed: %s\n",
    ++	  grub_dprintf ("luks2", "Decryption with keyslot \"%"PRIuGRUB_UINT64_T"\" failed: %s\n",
     +			keyslot.slot_key, grub_errmsg);
      	  continue;
      	}
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      	{
     -	  grub_dprintf ("luks2", "Could not open keyslot %"PRIuGRUB_SIZE": %s\n",
     -			i, grub_errmsg);
    -+	  grub_dprintf ("luks2", "Could not open keyslot %"PRIuGRUB_UINT64_T": %s\n",
    ++	  grub_dprintf ("luks2", "Could not open keyslot \"%"PRIuGRUB_UINT64_T"\": %s\n",
     +			keyslot.slot_key, grub_errmsg);
      	  continue;
      	}
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
             * where each element is either empty or holds a key.
             */
     -      grub_printf_ (N_("Slot %"PRIuGRUB_SIZE" opened\n"), i);
    -+      grub_printf_ (N_("Slot %"PRIuGRUB_UINT64_T" opened\n"), keyslot.slot_key);
    ++      grub_printf_ (N_("Slot \"%"PRIuGRUB_UINT64_T"\" opened\n"), keyslot.slot_key);
      
            candidate_key_len = keyslot.key_size;
            break;
 4:  1a248b679 <  -:  --------- cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt
 -:  --------- >  7:  43e3b6cce luks2: Add string "index" to user strings using a json index.
 -:  --------- >  8:  4aa9757e1 cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals
 -:  --------- >  9:  d18993a63 cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals
 5:  45f5d644f ! 10:  7e8f242d1 luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors
    @@ Commit message
     
         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.
    +    to cryptodisk sectors as well.
     
         Also, removed an empty statement.
     
    -    Signed-off-by: Glenn Washburn <development@efficientek.com>
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
     
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_decrypt_key (grub_uint8_t *out_key,
 6:  6e01cafb1 ! 11:  1fe9c38ed cryptodisk: Properly handle non-512 byte sized sectors
    @@ Commit message
         512 (ie the IV increments every 512 bytes). This made these changes less
         aestetically pleasing than desired.
     
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
    +
      ## grub-core/disk/cryptodisk.c ##
     @@ grub-core/disk/cryptodisk.c: lrw_xor (const struct lrw_sector *sec,
      static gcry_err_code_t
    @@ grub-core/disk/cryptodisk.c: grub_cryptodisk_endecrypt (struct grub_cryptodisk *
      	  }
      	  break;
      	case GRUB_CRYPTODISK_MODE_IV_PLAIN64:
    --	  iv[1] = grub_cpu_to_le32 (sector >> 32);
    +-	  iv[1] = grub_cpu_to_le32 (sector >> GRUB_TYPE_BITS (iv[0]));
     -	  /* FALLTHROUGH */
      	case GRUB_CRYPTODISK_MODE_IV_PLAIN:
     -	  iv[0] = grub_cpu_to_le32 (sector & GRUB_TYPE_U_MAX (iv[0]));
    @@ grub-core/disk/luks.c: configure_ciphers (grub_disk_t disk, const char *check_uu
        newdev->source_disk = NULL;
     -  newdev->log_sector_size = 9;
     +  newdev->log_sector_size = GRUB_LUKS1_LOG_SECTOR_SIZE;
    -   newdev->total_sectors = grub_disk_get_size (disk) - newdev->offset_sectors;
    +   newdev->total_sectors = grub_disk_native_sectors (disk) - newdev->offset_sectors;
        grub_memcpy (newdev->uuid, uuid, sizeof (uuid));
        newdev->modname = "luks";
     @@ grub-core/disk/luks.c: luks_recover_key (grub_disk_t source,
 7:  d8927c6bc ! 12:  c9db343e8 luks2: Better error handling when setting up the cryptodisk
    @@ Commit message
         an invalid segment, and continue on to the next key.
     
      ## grub-core/disk/luks2.c ##
    +@@ grub-core/disk/luks2.c: 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") ||
    +@@ grub-core/disk/luks2.c: 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;
    + }
     @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
            goto err;
          }
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      
            if (keyslot.priority == 0)
      	{
    -@@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
    +-	  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;
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
     +				 " %"PRIuGRUB_UINT64_T" which is greater than"
     +				 " source disk size %"PRIuGRUB_UINT64_T","
     +				 " skipping\n",
    -+				 segment.slot_key, crypt->offset_sectors,
    ++				 segment.json_slot_key, crypt->offset_sectors,
     +				 max_crypt_sectors);
     +	  continue;
     +	}
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
     -	crypt->total_sectors = grub_strtoull (segment.size, NULL, 10) >> crypt->log_sector_size;
     +	{
     +	  grub_errno = GRUB_ERR_NONE;
    -+	  crypt->total_sectors = grub_strtoull (segment.size, NULL, 10) >> crypt->log_sector_size;
    ++	  /* 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)
    ++	  else if (grub_errno == GRUB_ERR_BAD_NUMBER)
     +	    {
    -+	      /* TODO: Unparsable number-string, try to use the whole disk */
     +	      grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\" size"
     +				     " \"%s\" is not a parsable number\n",
    -+				     segment.slot_key, segment.size);
    ++				     segment.json_slot_key, segment.size);
     +	      continue;
     +	    }
    -+	  else if(grub_errno == GRUB_ERR_OUT_OF_RANGE)
    ++	  else if (grub_errno == GRUB_ERR_OUT_OF_RANGE)
     +	    {
     +	      /*
     +	       * There was an overflow in parsing segment.size, so disk must
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
     +				     " %s overflowed 64-bit unsigned integer,"
     +				     " the end of the crypto device will be"
     +				     " inaccessible\n",
    -+				     segment.slot_key, segment.size);
    ++				     segment.json_slot_key, segment.size);
     +	      if (crypt->total_sectors > max_crypt_sectors)
     +		crypt->total_sectors = max_crypt_sectors;
     +	    }
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
     +	{
     +	  grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\" has zero"
     +				 " sectors, skipping\n",
    -+				 segment.slot_key);
    ++				 segment.json_slot_key);
     +	  continue;
     +	}
     +      else if (max_crypt_sectors < (crypt->offset_sectors + crypt->total_sectors))
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
     +				 " data position greater than source disk size,"
     +				 " the end of the crypto device will be"
     +				 " inaccessible\n",
    -+				 segment.slot_key);
    ++				 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;
    + 	}
    + 
    +@@ grub-core/disk/luks2.c: 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;
    + 	}
    + 
    +@@ grub-core/disk/luks2.c: 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;
     
      ## include/grub/disk.h ##
    +@@
    + #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.  */
     @@ include/grub/disk.h: typedef struct grub_disk_memberlist *grub_disk_memberlist_t;
    - /* Return value of grub_disk_get_size() in case disk size is unknown. */
    + /* 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. */
    @@ include/grub/disk.h: typedef struct grub_disk_memberlist *grub_disk_memberlist_t
     +{
     +  if (disk->log_sector_size < log_sector_size)
     +    {
    -+      /* Round up to the nearest log_sector_size sized sector. */
    -+      sector += 1ULL << ((log_sector_size / disk->log_sector_size) - 1);
    ++      sector = ALIGN_UP (sector, 1 << (log_sector_size / disk->log_sector_size));
     +      return sector >> (log_sector_size - disk->log_sector_size);
     +    }
     +  else
 8:  fcd7aadb7 ! 13:  2fcef44b6 luks2: Error check segment.sector_size
    @@ Metadata
      ## Commit message ##
         luks2: Error check segment.sector_size
     
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
    +
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      
    -       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);
      
     +      /* Sector size should be one of 512, 1024, 2048, or 4096. */
     +      if (!(segment.sector_size == 512 || segment.sector_size == 1024 ||
    @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
     +	  grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\" sector"
     +				 " size %"PRIuGRUB_UINT64_T" is not one of"
     +				 " 512, 1024, 2048, or 4096\n",
    -+				 segment.slot_key, segment.sector_size);
    ++				 segment.json_slot_key, segment.sector_size);
     +	  continue;
     +	}
     +
 9:  61f77a1a8 ! 14:  74eed4a62 whitespace: convert 8 spaces to tabs.
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    whitespace: convert 8 spaces to tabs.
    +    whitespace: convert 8 spaces to tabs
    +
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
     
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_digest_t *d, grub_luks2_s
          {
            if (grub_json_getchild (&digest, &digests, i) ||
    - 	  grub_json_getuint64 (&d->slot_key, &digest, NULL) ||
    + 	  grub_json_getuint64 (&d->json_slot_key, &digest, NULL) ||
     -          grub_json_getchild (&digest, &digest, 0) ||
     -          luks2_parse_digest (d, &digest))
     +	  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);
      
    -       if ((d->keyslots & (1 << k->slot_key)))
    +       if ((d->keyslots & (1 << k->json_slot_key)))
     @@ grub-core/disk/luks2.c: luks2_get_keyslot (grub_luks2_keyslot_t *k, grub_luks2_digest_t *d, grub_luks2_s
            if (grub_json_getchild (&segment, &segments, i) ||
    - 	  grub_json_getuint64 (&s->slot_key, &segment, NULL) ||
    + 	  grub_json_getuint64 (&s->json_slot_key, &segment, NULL) ||
      	  grub_json_getchild (&segment, &segment, 0) ||
     -          luks2_parse_segment (s, &segment))
     +	  luks2_parse_segment (s, &segment))
      	return grub_error (GRUB_ERR_BAD_ARGUMENT, "Could not parse segment index %"PRIuGRUB_SIZE, i);
      
    -       if ((d->segments & (1 << s->slot_key)))
    +       if ((d->segments & (1 << s->json_slot_key)))
     @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      	{
    - 	  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);
      
10:  d71d26701 ! 15:  51c2e9160 mips: Enable __clzdi2()
    @@ Commit message
         __clzdi2()) but for MIPS target and __clzdi2 only, __clzsi2 was already
         enabled.
     
    -    Signed-off-by: Daniel Kiper <dkiper@net-space.pl>
    +    Suggested-by: Daniel Kiper <dkiper@net-space.pl>
     
      ## grub-core/kern/compiler-rt.c ##
     @@ grub-core/kern/compiler-rt.c: __clzsi2 (grub_uint32_t val)
11:  8aa295f77 ! 16:  3b4ccda1f misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers
    @@ Metadata
      ## Commit message ##
         misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers
     
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
    +
      ## include/grub/misc.h ##
     @@ include/grub/misc.h: void EXPORT_FUNC(grub_real_boot_time) (const char *file,
      #define grub_max(a, b) (((a) > (b)) ? (a) : (b))
12:  7050a4ace ! 17:  8b97e6887 luks2: Use grub_log2ull to calculate log_sector_size and improve readability
    @@ Metadata
      ## Commit message ##
         luks2: Use grub_log2ull to calculate log_sector_size and improve readability
     
    +    Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
    +
      ## grub-core/disk/luks2.c ##
     @@ grub-core/disk/luks2.c: luks2_recover_key (grub_disk_t source,
      
-- 
2.27.0



  parent reply	other threads:[~2020-12-04 17:11 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         ` Glenn Washburn [this message]
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.1607098915.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.