All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Add LUKS2 support to luks_script
@ 2023-07-14 20:49 Glenn Washburn
  2023-07-14 20:49 ` [PATCH v3 1/2] cryptodisk: Optimize luks_script_get Glenn Washburn
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Glenn Washburn @ 2023-07-14 20:49 UTC (permalink / raw)
  To: grub-devel, Daniel Kiper; +Cc: Patrick Steinhardt, Glenn Washburn

v3:
 * Fix inconsistencies noted in v2
 * Add a separate patch for optimization and changes in v2
 * Use 6 digits for sector size, instead of previous 5, for really really
   future proofing
v2:
 * Use PRIxGRUB_OFFSET instead of PRIuGRUB_UINT64_T
 * use %u for unsigned log sector size

Glenn

Glenn Washburn (2):
  cryptodisk: Optimize luks_script_get
  cryptodisk: Add support for LUKS2 in (proc)/luks_script

 grub-core/disk/cryptodisk.c | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

Range-diff against v2:
-:  ------------ > 1:  7a32d780a2f7 cryptodisk: Optimize luks_script_get
1:  dbf695eef1ab ! 2:  fe0164ae1db0 luks2: Add support for LUKS2 in (proc)/luks_script
    @@ Metadata
     Author: Glenn Washburn <development@efficientek.com>
     
      ## Commit message ##
    -    luks2: Add support for LUKS2 in (proc)/luks_script
    +    cryptodisk: Add support for LUKS2 in (proc)/luks_script
     
    -    The sector size in bytes is added to each line and it is allowed to be 5
    +    The sector size in bytes is added to each line and it is allowed to be 6
         decimal digits long, which covers the most common cases of 512 and 4096
    -    byte sectors with space for an additional digit as future-proofing. The
    -    size allocation is updated to reflect this additional field, allow up to
    -    5 characters and 1 space added.
    +    byte sectors with space for two additional digits as future-proofing. The
    +    size allocation is updated to reflect this additional field. Also make
    +    clearer the size allocation calculation.
     
      ## grub-core/disk/cryptodisk.c ##
     @@ grub-core/disk/cryptodisk.c: luks_script_get (grub_size_t *sz)
    @@ grub-core/disk/cryptodisk.c: luks_script_get (grub_size_t *sz)
     +	/*
     +	 * Add space in the line for (in order) spaces, cipher mode, cipher IV
     +	 * mode, sector offset, sector size and the trailing newline. This is
    -+	 * an upper bound on the size of this data. There are 16 extra bytes
    ++	 * an upper bound on the size of this data. There are 15 extra bytes
     +	 * in an earlier version of this code that are unaccounted for. It is
     +	 * left in the calculations in case it is needed. At worst, its short-
     +	 * lived wasted space.
     +	 */
    -+	size += 5 + 5 + 8 + 20 + 5 + 1 + 16;
    ++	size += 5 + 5 + 8 + 20 + 6 + 1 + 15;
      	if (i->essiv_hash)
      	  size += grub_strlen (i->essiv_hash->name);
      	size += i->keysize * 2;
    @@ grub-core/disk/cryptodisk.c: luks_script_get (grub_size_t *sz)
     +	ptr = grub_stpcpy (ptr, "_mount ");
      	ptr = grub_stpcpy (ptr, i->uuid);
      	*ptr++ = ' ';
    --	grub_snprintf (ptr, 21, "%" PRIuGRUB_UINT64_T " ", i->offset_sectors);
    --	while (*ptr)
    --	  ptr++;
    -+	ptr += grub_snprintf (ptr, 21, "%" PRIxGRUB_OFFSET " ",
    -+			      i->offset_sectors);
    -+	ptr += grub_snprintf (ptr, 7, "%u ", 1 << i->log_sector_size);
    + 	ptr += grub_snprintf (ptr, 21, "%" PRIxGRUB_OFFSET, i->offset_sectors);
    + 	*ptr++ = ' ';
    ++	ptr += grub_snprintf (ptr, 7, "%u", 1 << i->log_sector_size);
    ++	*ptr++ = ' ';
      	for (iptr = i->cipher->cipher->name; *iptr; iptr++)
      	  *ptr++ = grub_tolower (*iptr);
      	switch (i->mode)
-- 
2.34.1



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-05 16:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-14 20:49 [PATCH v3 0/2] Add LUKS2 support to luks_script Glenn Washburn
2023-07-14 20:49 ` [PATCH v3 1/2] cryptodisk: Optimize luks_script_get Glenn Washburn
2023-07-14 20:49 ` [PATCH v3 2/2] cryptodisk: Add support for LUKS2 in (proc)/luks_script Glenn Washburn
2023-10-05 16:27 ` [PATCH v3 0/2] Add LUKS2 support to luks_script Daniel Kiper

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.