On 14/03/18 09:44, John Lane wrote: > --- a/grub-core/disk/cryptodisk.c > +++ b/grub-core/disk/cryptodisk.c > @@ -880,7 +882,7 @@ grub_cryptodisk_cheat_mount (const char *sourcedev, const > char *cheat) > > FOR_CRYPTODISK_DEVS (cr) > { > - dev = cr->scan (source, search_uuid, check_boot); > + dev = cr->scan (source, search_uuid, check_boot,0);
Minor nit; "boot,0" > "boot, 0" > @@ -934,6 +936,18 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int > argc, char **args) > if (argc < 1 && !state[1].set && !state[2].set) > return grub_error (GRUB_ERR_BAD_ARGUMENT, "device name required"); > > + if (state[3].set) /* LUKS detached header */ > + { > + if (state[0].set) /* Cannot use UUID lookup with detached header */ Should there be specific warning for the user here, at least for #ifdef GRUB_UTIL > --- a/grub-core/disk/luks.c > +++ b/grub-core/disk/luks.c > @@ -391,13 +415,18 @@ luks_recover_key (grub_disk_t source, > return grub_crypto_gcry_error (gcry_err); > } > > + sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset); > length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes)); > > /* Read and decrypt the key material from the disk. */ > - err = grub_disk_read (source, > - grub_be_to_cpu32 (header.keyblock > - [i].keyMaterialOffset), 0, > - length, split_key); > + if (hdr) > + { > + grub_file_seek (hdr, sector * 512); Shouldn't 512 be GRUB_DISK_SECTOR_SIZE ? _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel