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@saout.de> 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
- Follow-Ups:
- Re: [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- From: Herbert Xu <herbert@gondor.apana.org.au>
- Re: [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- References:
- [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- From: Stefan Schmidt <stefan@datenfreihafen.org>
- Re: [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- From: Alasdair G Kergon <agk@redhat.com>
- Re: [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- From: Linus Torvalds <torvalds@osdl.org>
- [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- Prev by Date: Re: [PATCH 00/11] UBD driver little cleanups for 2.6.19
- Next by Date: Re: [PATCH] make kernel ignore bogus partitions
- Previous by thread: Re: [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- Next by thread: Re: [BUG] dmsetup table output changed from 2.6.18 to 2.6.19-rc3 and breaks yaird.
- Index(es):
![]() |