Am Montag, den 30.10.2006, 11:00 -0800 schrieb Linus Torvalds: > On Mon, 30 Oct 2006, Alasdair G Kergon wrote: > > > > It cannot have been intentional as there was no mention of the change to the > > userspace interface in the git changelog (and the interface version number > > was not changed). > > > > A new patch is needed to revert the part of the patch that changed the > > userspace interface. > > > > Please don't forget to copy in the appropriate maintainers when you send > > messages like this one: > > http://marc.theaimsgroup.com/?l=linux-netdev&m=115547174417490&w=2 > > so they can provide acks:-) > > Yeah. > > Herbert, the breakage _seems_ to be due to the STATUSTYPE_TABLE case > change: > > - cipher = crypto_tfm_alg_name(cc->tfm); > + cipher = crypto_blkcipher_name(cc->tfm); > > which effectively changes "aes" into "cbc(aes)", which is wrong, since we > show the chainmode separately. > > Please, somebody who knows this area, send me a fix, > > (maybe something like this trivial one? Totally untested, but it would > seem to be the sane approach) Yes, this works just fine. It can also be cleaned up a little further as the temporary variables are unnecessary at that point. ---- Fix dm-crypt after the block cipher API changes to correctly return the backwards compatible cipher-chainmode[-ivmode] format for "dmsetup table". Signed-off-by: Christophe Saout <christophe@xxxxxxxx> diff linux-2.6.19-rc3.orig/drivers/md/dm-crypt.c linux-2.6.19-rc3/drivers/md/dm-crypt.c --- linux-2.6.19-rc3.orig/drivers/md/dm-crypt.c 2006-10-26 13:17:58.000000000 +0200 +++ linux-2.6.19-rc3/drivers/md/dm-crypt.c 2006-10-30 20:26:37.000000000 +0100 @@ -915,8 +915,6 @@ static int crypt_status(struct dm_target char *result, unsigned int maxlen) { struct crypt_config *cc = (struct crypt_config *) ti->private; - const char *cipher; - const char *chainmode = NULL; unsigned int sz = 0; switch (type) { @@ -925,14 +923,11 @@ static int crypt_status(struct dm_target break; case STATUSTYPE_TABLE: - cipher = crypto_blkcipher_name(cc->tfm); - - chainmode = cc->chainmode; - if (cc->iv_mode) - DMEMIT("%s-%s-%s ", cipher, chainmode, cc->iv_mode); + DMEMIT("%s-%s-%s ", cc->cipher, cc->chainmode, + cc->iv_mode); else - DMEMIT("%s-%s ", cipher, chainmode); + DMEMIT("%s-%s ", cc->cipher, cc->chainmode); if (cc->key_size > 0) { if ((maxlen - sz) < ((cc->key_size << 1) + 1))
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel