geode: Fix cip/blk confusion
Subsystems (4)
PATCH 1/1 geode: Fix cip/blk confusion
crypto_cipher cip members were set where crypto_cipher blk members should have been, also the PTR_ERR of the wrong pointer was returned.
---
This was already discussed in december/januari but I still cannot find it in mainline, was it lost?
arch/s390/crypto/aes_s390.c +3 -3
@@ -78,14 +78,14 @@ static int setkey_fallback_cip(struct crypto_tfm *tfm, const u8 *in_key,struct s390_aes_ctx *sctx =crypto_tfm_ctx (tfm);int ret; - sctx->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK ; - sctx->fallback.blk->base.crt_flags |= (tfm->crt_flags & + sctx->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK ; + sctx->fallback.cip->base.crt_flags |= (tfm->crt_flags &CRYPTO_TFM_REQ_MASK ); ret =crypto_cipher_setkey (sctx->fallback.cip, in_key, key_len);if (ret) { tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK ; - tfm->crt_flags |= (sctx->fallback.blk->base.crt_flags & + tfm->crt_flags |= (sctx->fallback.cip->base.crt_flags &CRYPTO_TFM_RES_MASK ); }return ret;
drivers/crypto/geode-aes.c +4 -4
@@ -135,13 +135,13 @@ static int geode_setkey_cip(struct crypto_tfm *tfm, const u8 *key,/* * The requested key size is not supported by HW, do a fallback */ - op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK ; - op->fallback.blk->base.crt_flags |= (tfm->crt_flags &CRYPTO_TFM_REQ_MASK ); + op->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK ; + op->fallback.cip->base.crt_flags |= (tfm->crt_flags &CRYPTO_TFM_REQ_MASK ); ret =crypto_cipher_setkey (op->fallback.cip, key, len);if (ret) { tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK ; - tfm->crt_flags |= (op->fallback.blk->base.crt_flags &CRYPTO_TFM_RES_MASK ); + tfm->crt_flags |= (op->fallback.cip->base.crt_flags &CRYPTO_TFM_RES_MASK ); }return ret; }
@@ -263,7 +263,7 @@ static int fallback_init_cip(struct crypto_tfm *tfm)if (IS_ERR (op->fallback.cip)) {printk (KERN_ERR "Error allocating fallback algo %s\n" , name); -return PTR_ERR (op->fallback.blk); +return PTR_ERR (op->fallback.cip); }return 0 ;
Quoted 2 lines · * Roel Kluin | 2010-01-29 14:32:56 [+0100]:
This was already discussed in december/januari but I still cannot find it in mainline, was it lost?
Isn't this patch [0] and [1] in Herbert's tree? If so Herbert is probably going to merge in the next merge window because it is not urgend enough.
[0] http://git.kernel.org/?p=linux/kernel/git/herbert/cryptodev-2.6.git;a=commit;h=faad98f29606d9d3c6bddae7c88693be37d2fb43
[1] http://git.kernel.org/?p=linux/kernel/git/herbert/cryptodev-2.6.git;a=commit;h=d7ac769068df87ca8c7f72d99cf67ead16739f18
Sebastian
Quoted 11 lines · Sebastian Andrzej Siewior
Quoted 2 lines · * Roel Kluin | 2010-01-29 14:32:56 [+0100]:
This was already discussed in december/januari but I still cannot find it in mainline, was it lost?
Isn't this patch [0] and [1] in Herbert's tree? If so Herbert is probably going to merge in the next merge window because it is not urgend enough.
[0] http://git.kernel.org/?p=linux/kernel/git/herbert/cryptodev-2.6.git;a=commit;h=faad98f29606d9d3c6bddae7c88693be37d2fb43
[1] http://git.kernel.org/?p=linux/kernel/git/herbert/cryptodev-2.6.git;a=commit;h=d7ac769068df87ca8c7f72d99cf67ead16739f18
Yes that are the patches, however, I think my previous patch missed one blk to cip conversion in geode_setkey_cip():
ret = crypto_cipher_setkey(op->fallback.cip, key, len);
if (ret) {
tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK;
- tfm->crt_flags |= (op->fallback.blk->base.crt_flags &
CRYPTO_TFM_RES_MASK);
+ tfm->crt_flags |= (op->fallback.cip->base.crt_flags &
CRYPTO_TFM_RES_MASK);
}
return ret;}
Roel
Herbert Xu
maintainerQuoted 3 lines · roel kluin
Yes that are the patches, however, I think my previous patch missed one blk to cip conversion in
geode_setkey_cip():
Please send an incremental patch. Thanks!
Signature · 4 lines
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txta crypto_cipher cip member was set where a crypto_cipher blk members should have been.
---
Quoted 4 lines
Quoted 2 lines
I think my previous patch missed one
blk to cip conversion ingeode_setkey_cip():Please send an incremental patch. Thanks!
Ok, here's the missing part
drivers/crypto/geode-aes.c +1 -1
@@ -141,7 +141,7 @@ static int geode_setkey_cip(struct crypto_tfm *tfm, const u8 *key, ret =crypto_cipher_setkey (op->fallback.cip, key, len);if (ret) { tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK ; - tfm->crt_flags |= (op->fallback.blk->base.crt_flags &CRYPTO_TFM_RES_MASK ); + tfm->crt_flags |= (op->fallback.cip->base.crt_flags &CRYPTO_TFM_RES_MASK ); }return ret; }
Herbert Xu
maintainerQuoted 4 lines · Roel Kluin
a
crypto_ciphercip member was set where acrypto_cipherblk members should have been.Signed-off-by Roel Kluin <[email protected]>
Patch applied. Thank you.
Signature · 4 lines
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt