From: Glenn Washburn <development@efficientek.com>
To: grub-devel@gnu.org
Cc: Daniel Kiper <dkiper@net-space.pl>,
Patrick Steinhardt <ps@pks.im>,
Glenn Washburn <development@efficientek.com>
Subject: [PATCH 06/10] cryptodisk: Properly handle non-512 byte sized sectors.
Date: Sat, 3 Oct 2020 16:45:59 -0500 [thread overview]
Message-ID: <5f7bd00a6089f0328e6992881c0c40e12a22107b.1601760922.git.development@efficientek.com> (raw)
In-Reply-To: <cover.1601760922.git.development@efficientek.com>
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
that when using a larger sector size, the IV is incremented every sector.
However, the amount the IV is incremented is the number of 512 byte blocks
in a sector (ie 8 for 4K sectors). Confusingly the IV does not corespond to
the number of, for example, 4K sectors. So each 512 byte cipher block in a
sector will be encrypted with the same IV and the IV will be incremented
afterwards by the number of 512 byte cipher blocks in the sector.
There are some encryption utilities which do it the intuitive way and have
the IV equal to the sector number regardless of sector size (ie. the fifth
sector would have an IV of 4 for each cipher block). And this is supported
by dm-crypt with the iv_large_sectors option and also cryptsetup as of 2.3.3
with the --iv-large-sectors, though not with LUKS headers (only with --type
plain). However, support for this has not been included as grub does not
support plain devices right now.
One gotcha here is that the encrypted split keys are encrypted with a hard-
coded 512-byte sector size. So even if your data is encrypted with 4K sector
sizes, the split key encrypted area must be decrypted with a block size of
512 (ie the IV increments every 512 bytes). This made these changes less
aestetically pleasing than desired.
Signed-off-by: Glenn Washburn <development@efficientek.com>
---
grub-core/disk/cryptodisk.c | 52 ++++++++++++++++++++++---------------
grub-core/disk/luks.c | 5 ++--
grub-core/disk/luks2.c | 7 ++++-
include/grub/cryptodisk.h | 8 +++++-
4 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
index a3d672f68..623f0f396 100644
--- a/grub-core/disk/cryptodisk.c
+++ b/grub-core/disk/cryptodisk.c
@@ -224,7 +224,8 @@ lrw_xor (const struct lrw_sector *sec,
static gcry_err_code_t
grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
grub_uint8_t * data, grub_size_t len,
- grub_disk_addr_t sector, int do_encrypt)
+ grub_disk_addr_t sector, grub_size_t log_sector_size,
+ int do_encrypt)
{
grub_size_t i;
gcry_err_code_t err;
@@ -237,7 +238,7 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
return (do_encrypt ? grub_crypto_ecb_encrypt (dev->cipher, data, data, len)
: grub_crypto_ecb_decrypt (dev->cipher, data, data, len));
- for (i = 0; i < len; i += (1U << dev->log_sector_size))
+ for (i = 0; i < len; i += (1U << log_sector_size))
{
grub_size_t sz = ((dev->cipher->cipher->blocksize
+ sizeof (grub_uint32_t) - 1)
@@ -270,7 +271,7 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
if (!ctx)
return GPG_ERR_OUT_OF_MEMORY;
- tmp = grub_cpu_to_le64 (sector << dev->log_sector_size);
+ tmp = grub_cpu_to_le64 (sector << log_sector_size);
dev->iv_hash->init (ctx);
dev->iv_hash->write (ctx, dev->iv_prefix, dev->iv_prefix_len);
dev->iv_hash->write (ctx, &tmp, sizeof (tmp));
@@ -281,14 +282,23 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
}
break;
case GRUB_CRYPTODISK_MODE_IV_PLAIN64:
- iv[1] = grub_cpu_to_le32 (sector >> 32);
- /* FALLTHROUGH */
case GRUB_CRYPTODISK_MODE_IV_PLAIN:
- iv[0] = grub_cpu_to_le32 (sector & 0xFFFFFFFF);
+ /*
+ * The IV is a 32 or 64 bit value of the dm-crypt native sector
+ * number. If using 32 bit IV mode, zero out the most significant
+ * 32 bits.
+ */
+ {
+ grub_uint64_t *iv64 = (grub_uint64_t *)iv;
+ *iv64 = grub_cpu_to_le64 (sector << (log_sector_size
+ - GRUB_CRYPTODISK_IV_LOG_SIZE));
+ if (dev->mode_iv == GRUB_CRYPTODISK_MODE_IV_PLAIN)
+ iv[1] = 0;
+ }
break;
case GRUB_CRYPTODISK_MODE_IV_BYTECOUNT64:
- iv[1] = grub_cpu_to_le32 (sector >> (32 - dev->log_sector_size));
- iv[0] = grub_cpu_to_le32 ((sector << dev->log_sector_size)
+ iv[1] = grub_cpu_to_le32 (sector >> (32 - log_sector_size));
+ iv[0] = grub_cpu_to_le32 ((sector << log_sector_size)
& 0xFFFFFFFF);
break;
case GRUB_CRYPTODISK_MODE_IV_BENBI:
@@ -311,10 +321,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
case GRUB_CRYPTODISK_MODE_CBC:
if (do_encrypt)
err = grub_crypto_cbc_encrypt (dev->cipher, data + i, data + i,
- (1U << dev->log_sector_size), iv);
+ (1U << log_sector_size), iv);
else
err = grub_crypto_cbc_decrypt (dev->cipher, data + i, data + i,
- (1U << dev->log_sector_size), iv);
+ (1U << log_sector_size), iv);
if (err)
return err;
break;
@@ -322,10 +332,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
case GRUB_CRYPTODISK_MODE_PCBC:
if (do_encrypt)
err = grub_crypto_pcbc_encrypt (dev->cipher, data + i, data + i,
- (1U << dev->log_sector_size), iv);
+ (1U << log_sector_size), iv);
else
err = grub_crypto_pcbc_decrypt (dev->cipher, data + i, data + i,
- (1U << dev->log_sector_size), iv);
+ (1U << log_sector_size), iv);
if (err)
return err;
break;
@@ -337,7 +347,7 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
if (err)
return err;
- for (j = 0; j < (1U << dev->log_sector_size);
+ for (j = 0; j < (1U << log_sector_size);
j += dev->cipher->cipher->blocksize)
{
grub_crypto_xor (data + i + j, data + i + j, iv,
@@ -368,11 +378,11 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
if (do_encrypt)
err = grub_crypto_ecb_encrypt (dev->cipher, data + i,
data + i,
- (1U << dev->log_sector_size));
+ (1U << log_sector_size));
else
err = grub_crypto_ecb_decrypt (dev->cipher, data + i,
data + i,
- (1U << dev->log_sector_size));
+ (1U << log_sector_size));
if (err)
return err;
lrw_xor (&sec, dev, data + i);
@@ -381,10 +391,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
case GRUB_CRYPTODISK_MODE_ECB:
if (do_encrypt)
err = grub_crypto_ecb_encrypt (dev->cipher, data + i, data + i,
- (1U << dev->log_sector_size));
+ (1U << log_sector_size));
else
err = grub_crypto_ecb_decrypt (dev->cipher, data + i, data + i,
- (1U << dev->log_sector_size));
+ (1U << log_sector_size));
if (err)
return err;
break;
@@ -399,9 +409,9 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
gcry_err_code_t
grub_cryptodisk_decrypt (struct grub_cryptodisk *dev,
grub_uint8_t * data, grub_size_t len,
- grub_disk_addr_t sector)
+ grub_disk_addr_t sector, grub_size_t log_sector_size)
{
- return grub_cryptodisk_endecrypt (dev, data, len, sector, 0);
+ return grub_cryptodisk_endecrypt (dev, data, len, sector, log_sector_size, 0);
}
grub_err_t
@@ -766,7 +776,7 @@ grub_cryptodisk_read (grub_disk_t disk, grub_disk_addr_t sector,
}
gcry_err = grub_cryptodisk_endecrypt (dev, (grub_uint8_t *) buf,
size << disk->log_sector_size,
- sector, 0);
+ sector, dev->log_sector_size, 0);
return grub_crypto_gcry_error (gcry_err);
}
@@ -807,7 +817,7 @@ grub_cryptodisk_write (grub_disk_t disk, grub_disk_addr_t sector,
gcry_err = grub_cryptodisk_endecrypt (dev, (grub_uint8_t *) tmp,
size << disk->log_sector_size,
- sector, 1);
+ sector, disk->log_sector_size, 1);
if (gcry_err)
{
grub_free (tmp);
diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
index 59702067a..20cc20b9b 100644
--- a/grub-core/disk/luks.c
+++ b/grub-core/disk/luks.c
@@ -124,7 +124,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
return NULL;
newdev->offset = grub_be_to_cpu32 (header.payloadOffset);
newdev->source_disk = NULL;
- newdev->log_sector_size = 9;
+ newdev->log_sector_size = LUKS1_LOG_SECTOR_SIZE;
newdev->total_length = grub_disk_get_size (disk) - newdev->offset;
grub_memcpy (newdev->uuid, uuid, sizeof (uuid));
newdev->modname = "luks";
@@ -247,7 +247,8 @@ luks_recover_key (grub_disk_t source,
return err;
}
- gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0);
+ gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0,
+ LUKS1_LOG_SECTOR_SIZE);
if (gcry_err)
{
grub_free (split_key);
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
index 8e99a1820..054d5455d 100644
--- a/grub-core/disk/luks2.c
+++ b/grub-core/disk/luks2.c
@@ -499,7 +499,12 @@ luks2_decrypt_key (grub_uint8_t *out_key,
goto err;
}
- gcry_ret = grub_cryptodisk_decrypt (crypt, split_key, k->area.size, 0);
+ /*
+ * The key slots area is always encrypted in 512-byte sectors,
+ * regardless of encrypted data sector size.
+ */
+ gcry_ret = grub_cryptodisk_decrypt (crypt, split_key, k->area.size, 0,
+ LUKS1_LOG_SECTOR_SIZE);
if (gcry_ret)
{
ret = grub_crypto_gcry_error (gcry_ret);
diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h
index e1b21e785..006f3ec49 100644
--- a/include/grub/cryptodisk.h
+++ b/include/grub/cryptodisk.h
@@ -48,6 +48,12 @@ typedef enum
#define GRUB_CRYPTODISK_MAX_UUID_LENGTH 71
+/* LUKS1 specification defines the block size to always be 512 bytes. */
+#define LUKS1_LOG_SECTOR_SIZE 9
+
+/* By default dm-crypt increments the IV every 512 bytes. */
+#define GRUB_CRYPTODISK_IV_LOG_SIZE 9
+
#define GRUB_CRYPTODISK_GF_LOG_SIZE 7
#define GRUB_CRYPTODISK_GF_SIZE (1U << GRUB_CRYPTODISK_GF_LOG_SIZE)
#define GRUB_CRYPTODISK_GF_LOG_BYTES (GRUB_CRYPTODISK_GF_LOG_SIZE - 3)
@@ -139,7 +145,7 @@ grub_cryptodisk_setkey (grub_cryptodisk_t dev,
gcry_err_code_t
grub_cryptodisk_decrypt (struct grub_cryptodisk *dev,
grub_uint8_t * data, grub_size_t len,
- grub_disk_addr_t sector);
+ grub_disk_addr_t sector, grub_size_t log_sector_size);
grub_err_t
grub_cryptodisk_insert (grub_cryptodisk_t newdev, const char *name,
grub_disk_t source);
--
2.27.0
next prev parent reply other threads:[~2020-10-03 21:47 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 ` Glenn Washburn [this message]
2020-10-03 21:46 ` [PATCH 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-10-03 21:46 ` [PATCH 08/10] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-10-03 21:46 ` [PATCH 09/10] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-10-03 21:46 ` [PATCH 10/10] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 00/10] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 01/10] luks2: Fix use of incorrect index and some grub_error() messages Glenn Washburn
2020-10-09 9:38 ` Patrick Steinhardt
2020-10-03 22:55 ` [PATCH v2 02/10] luks2: Improve readability in luks2_get_keyslot Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 03/10] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-10-09 9:44 ` Patrick Steinhardt
2020-10-18 19:05 ` Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 04/10] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-10-09 9:45 ` Patrick Steinhardt
2020-10-03 22:55 ` [PATCH v2 05/10] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain' Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 06/10] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-10-09 9:50 ` Patrick Steinhardt
2020-10-18 18:38 ` Glenn Washburn
2020-10-03 22:55 ` [PATCH v2 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-10-18 18:23 ` Glenn Washburn
2020-10-19 11:27 ` Daniel Kiper
2020-10-03 22:55 ` [PATCH v2 08/10] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-10-09 9:55 ` Patrick Steinhardt
2020-10-03 22:55 ` [PATCH v2 09/10] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-10-09 9:56 ` Patrick Steinhardt
2020-10-03 22:55 ` [PATCH v2 10/10] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-10-09 10:00 ` Patrick Steinhardt
2020-10-19 16:27 ` Glenn Washburn
2020-10-23 17:46 ` Patrick Steinhardt
2020-10-09 10:01 ` [PATCH v2 00/10] Cryptodisk fixes for v2.06 redux Patrick Steinhardt
2020-10-19 23:09 ` [PATCH v3 " Glenn Washburn
2020-10-19 23:09 ` [PATCH v3 01/10] luks2: Fix use of incorrect index and some grub_error() messages Glenn Washburn
2020-10-23 12:08 ` Daniel Kiper
2020-10-23 17:52 ` Patrick Steinhardt
2020-10-19 23:09 ` [PATCH v3 02/10] luks2: Improve readability in luks2_get_keyslot Glenn Washburn
2020-10-23 12:14 ` Daniel Kiper
2020-10-29 21:52 ` Glenn Washburn
2020-10-30 13:15 ` Daniel Kiper
2020-10-19 23:09 ` [PATCH v3 03/10] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-10-23 17:55 ` Patrick Steinhardt
2020-10-19 23:09 ` [PATCH v3 04/10] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-10-23 18:03 ` Patrick Steinhardt
2020-10-19 23:09 ` [PATCH v3 05/10] cryptodisk: Fix cipher IV mode 'plain64' always being set as 'plain' Glenn Washburn
2020-10-23 12:21 ` Daniel Kiper
2020-10-19 23:09 ` [PATCH v3 06/10] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-10-23 18:09 ` Patrick Steinhardt
2020-10-26 15:43 ` Daniel Kiper
2020-10-30 20:47 ` Daniel Kiper
2020-11-06 19:08 ` Glenn Washburn
2020-11-19 14:25 ` Daniel Kiper
2020-11-20 5:18 ` Glenn Washburn
2020-11-20 14:17 ` Daniel Kiper
2020-11-20 23:28 ` Glenn Washburn
2020-10-19 23:09 ` [PATCH v3 07/10] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-10-23 18:01 ` Patrick Steinhardt
2020-10-26 18:25 ` Glenn Washburn
2020-10-28 18:16 ` Patrick Steinhardt
2020-10-27 18:03 ` Daniel Kiper
2020-10-29 21:51 ` Glenn Washburn
2020-10-30 13:11 ` Daniel Kiper
2020-10-19 23:09 ` [PATCH v3 08/10] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-10-23 17:58 ` Patrick Steinhardt
2020-10-27 18:06 ` Daniel Kiper
2020-10-19 23:09 ` [PATCH v3 09/10] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-10-23 17:58 ` Patrick Steinhardt
2020-10-27 18:07 ` Daniel Kiper
2020-10-19 23:09 ` [PATCH v3 10/10] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-10-23 18:01 ` Patrick Steinhardt
2020-10-27 18:09 ` Daniel Kiper
2020-10-27 19:25 ` [PATCH v3 00/10] Cryptodisk fixes for v2.06 redux Daniel Kiper
2020-11-02 15:56 ` Daniel Kiper
2020-11-03 18:50 ` Glenn Washburn
2020-11-04 12:44 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 00/15] " Glenn Washburn
2020-11-07 4:44 ` [PATCH v4 01/15] cryptodisk: Rename total_length field in grub_cryptodisk_t to total_sectors Glenn Washburn
2020-11-15 9:37 ` Patrick Steinhardt
2020-11-16 16:22 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 02/15] cryptodisk: Rename offset in grub_cryptodisk_t to offset_sectors Glenn Washburn
2020-11-15 9:38 ` Patrick Steinhardt
2020-11-16 16:25 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 03/15] luks2: Rename source disk variabled named 'disk' to 'source' as in luks.c Glenn Washburn
2020-11-15 9:39 ` Patrick Steinhardt
2020-11-16 16:27 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 04/15] types: Define GRUB_CHAR_BIT based on compiler macro instead of using literal Glenn Washburn
2020-11-15 9:42 ` Patrick Steinhardt
2020-11-16 16:31 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 05/15] luks2: Use correct index variable when looping in luks2_get_keyslot Glenn Washburn
2020-11-15 9:43 ` Patrick Steinhardt
2020-11-16 16:35 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 06/15] luks2: Rename variable i to keyslot_idx " Glenn Washburn
2020-11-15 9:43 ` Patrick Steinhardt
2020-11-16 16:37 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 07/15] luks2: Rename index variable j to i Glenn Washburn
2020-11-15 9:44 ` Patrick Steinhardt
2020-11-16 16:38 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 08/15] luks2: Split idx into three variables: keyslot_key, digest_key, segment_key Glenn Washburn
2020-11-15 9:48 ` Patrick Steinhardt
2020-11-17 13:47 ` Daniel Kiper
2020-11-20 8:39 ` Glenn Washburn
2020-11-07 4:44 ` [PATCH v4 09/15] luks2: Improve error messages in luks2_get_keyslot Glenn Washburn
2020-11-15 9:52 ` Patrick Steinhardt
2020-11-17 13:51 ` Daniel Kiper
2020-11-07 4:44 ` [PATCH v4 10/15] luks2: Use more intuitive keyslot key instead of index when naming keyslot Glenn Washburn
2020-11-15 9:55 ` Patrick Steinhardt
2020-11-20 8:40 ` Glenn Washburn
2020-11-07 4:44 ` [PATCH v4 11/15] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-11-15 9:59 ` Patrick Steinhardt
2020-11-20 8:41 ` Glenn Washburn
2020-11-07 4:44 ` [PATCH v4 12/15] luks2: grub_cryptodisk_t->total_length is the max number of device native sectors Glenn Washburn
2020-11-15 10:00 ` Patrick Steinhardt
2020-11-17 14:06 ` Daniel Kiper
2020-11-20 8:41 ` Glenn Washburn
2020-11-07 4:44 ` [PATCH v4 13/15] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-11-15 10:07 ` Patrick Steinhardt
2020-11-20 8:42 ` Glenn Washburn
2020-11-22 12:30 ` Patrick Steinhardt
2020-11-07 4:44 ` [PATCH v4 14/15] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-11-15 10:13 ` Patrick Steinhardt
2020-11-20 8:44 ` Glenn Washburn
2020-11-17 14:26 ` Daniel Kiper
2020-11-20 8:44 ` Glenn Washburn
2020-11-20 20:24 ` Daniel Kiper
2020-11-20 23:58 ` Glenn Washburn
2020-11-07 4:44 ` [PATCH v4 15/15] luks2: Error check segment.sector_size Glenn Washburn
2020-11-15 10:42 ` Patrick Steinhardt
2020-11-17 14:28 ` Daniel Kiper
2020-11-17 14:34 ` [PATCH v4 00/15] Cryptodisk fixes for v2.06 redux Daniel Kiper
2020-11-23 5:23 ` [PATCH v5 00/11] " Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 01/11] luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 02/11] luks: Use more intuitive slot key instead of index in user messages Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 03/11] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 04/11] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 05/11] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 06/11] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 07/11] luks2: Error check segment.sector_size Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 08/11] whitespace: convert 8 spaces to tabs Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 09/11] mips: Enable __clzdi2() Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 10/11] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers Glenn Washburn
2020-11-23 5:23 ` [PATCH v5 11/11] luks2: Use grub_log2ull to calculate log_sector_size and improve readability Glenn Washburn
2020-11-27 9:03 ` [PATCH v6 00/12] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-11-27 9:03 ` [PATCH v6 01/12] luks2: Add slot_key member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-12-02 17:01 ` Daniel Kiper
2020-12-03 7:23 ` Glenn Washburn
2020-12-03 12:35 ` Daniel Kiper
2020-12-03 16:46 ` Glenn Washburn
2020-12-04 13:23 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 02/12] luks2: Use more intuitive slot key instead of index in user messages Glenn Washburn
2020-12-02 17:23 ` Daniel Kiper
2020-12-03 7:24 ` Glenn Washburn
2020-12-03 12:39 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 03/12] luks2: Remove unused argument in grub_error Glenn Washburn
2020-12-02 17:24 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 04/12] cryptodisk: Replace some literals with constants in grub_cryptodisk_endecrypt Glenn Washburn
2020-12-02 17:37 ` Daniel Kiper
2020-12-03 8:29 ` Glenn Washburn
2020-12-03 12:44 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 05/12] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-12-02 17:56 ` Daniel Kiper
2020-12-03 8:54 ` Glenn Washburn
2020-12-03 12:45 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 06/12] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-12-03 13:04 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 07/12] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-12-03 13:31 ` Daniel Kiper
2020-12-03 16:24 ` Glenn Washburn
2020-12-04 13:19 ` Daniel Kiper
2020-12-04 14:51 ` Glenn Washburn
2020-11-27 9:03 ` [PATCH v6 08/12] luks2: Error check segment.sector_size Glenn Washburn
2020-12-03 13:52 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 09/12] whitespace: convert 8 spaces to tabs Glenn Washburn
2020-12-03 13:53 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 10/12] mips: Enable __clzdi2() Glenn Washburn
2020-12-03 14:00 ` Daniel Kiper
2020-12-03 15:58 ` Glenn Washburn
2020-12-04 13:07 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 11/12] misc: Add grub_log2ull macro for calculating log base 2 of 64-bit integers Glenn Washburn
2020-12-03 14:02 ` Daniel Kiper
2020-11-27 9:03 ` [PATCH v6 12/12] luks2: Use grub_log2ull to calculate log_sector_size and improve readability Glenn Washburn
2020-12-03 14:13 ` Daniel Kiper
2020-12-04 16:43 ` [PATCH v7 00/17] Cryptodisk fixes for v2.06 redux Glenn Washburn
2020-12-04 16:43 ` [PATCH v7 01/17] disk: Rename grub_disk_get_size to grub_disk_native_sectors Glenn Washburn
2020-12-06 13:24 ` Patrick Steinhardt
2020-12-07 19:38 ` Daniel Kiper
2020-12-04 16:43 ` [PATCH v7 02/17] misc: Add parentheses around ALIGN_UP and ALIGN_DOWN arguments Glenn Washburn
2020-12-06 13:24 ` Patrick Steinhardt
2020-12-07 19:50 ` Daniel Kiper
2020-12-04 16:43 ` [PATCH v7 03/17] luks2: Remove unused argument in grub_error Glenn Washburn
2020-12-06 13:25 ` Patrick Steinhardt
2020-12-07 19:52 ` Daniel Kiper
2020-12-08 17:45 ` Glenn Washburn
2020-12-08 18:32 ` Patrick Steinhardt
2020-12-04 16:43 ` [PATCH v7 04/17] luks2: Make sure all fields of output argument in luks2_parse_digest() are written to Glenn Washburn
2020-12-06 13:26 ` Patrick Steinhardt
2020-12-07 19:58 ` Daniel Kiper
2020-12-04 16:43 ` [PATCH v7 05/17] luks2: Add json_slot_key member to struct grub_luks2_keyslot/segment/digest Glenn Washburn
2020-12-06 13:29 ` Patrick Steinhardt
2020-12-07 20:02 ` Daniel Kiper
2020-12-08 4:06 ` Glenn Washburn
2020-12-08 6:38 ` Patrick Steinhardt
2020-12-08 17:55 ` Glenn Washburn
2020-12-04 16:43 ` [PATCH v7 06/17] luks2: Use more intuitive slot key instead of index in user messages Glenn Washburn
2020-12-06 13:31 ` Patrick Steinhardt
2020-12-07 20:15 ` Daniel Kiper
2020-12-08 17:56 ` Glenn Washburn
2020-12-04 16:43 ` [PATCH v7 07/17] luks2: Add string "index" to user strings using a json index Glenn Washburn
2020-12-06 13:31 ` Patrick Steinhardt
2020-12-07 20:17 ` Daniel Kiper
2020-12-04 16:43 ` [PATCH v7 08/17] cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals Glenn Washburn
2020-12-06 13:32 ` Patrick Steinhardt
2020-12-07 20:18 ` Daniel Kiper
2020-12-04 16:43 ` [PATCH v7 09/17] cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals Glenn Washburn
2020-12-06 13:33 ` Patrick Steinhardt
2020-12-07 20:22 ` Daniel Kiper
2020-12-08 4:06 ` Glenn Washburn
2020-12-04 16:43 ` [PATCH v7 10/17] luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors Glenn Washburn
2020-12-06 13:34 ` Patrick Steinhardt
2020-12-04 16:43 ` [PATCH v7 11/17] cryptodisk: Properly handle non-512 byte sized sectors Glenn Washburn
2020-12-06 19:21 ` Patrick Steinhardt
2020-12-04 16:43 ` [PATCH v7 12/17] luks2: Better error handling when setting up the cryptodisk Glenn Washburn
2020-12-06 19:35 ` Patrick Steinhardt
2020-12-08 4:04 ` Glenn Washburn
2020-12-08 6:41 ` Patrick Steinhardt
2020-12-08 4:28 ` Glenn Washburn
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=5f7bd00a6089f0328e6992881c0c40e12a22107b.1601760922.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