Re: Bug in geode-aes.c ?
From 335b39e0c55a1dba13cda3e8222947f2cb4120ed Mon Sep 17 00:00:00 2001 From: Sergey Mironov ier...@gmail.com Date: Thu, 12 Nov 2009 13:10:05 +0300 Subject: [PATCH 2/2] aes_s390: access fallback.cip cipher fallback mode |The fallback code in cipher mode touch the union fallback.blk instead |of fallback.cip. This is wrong because we use the cipher and not the |blockcipher. This did not show any side effects yet because both types / |structs contain the same element right now. Signed-off-by: Sergey Mironov ier...@gmail.com Looks good. --- arch/s390/crypto/aes_s390.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/s390/crypto/aes_s390.c b/arch/s390/crypto/aes_s390.c index e33f32b..6f0f8b9 100644 --- a/arch/s390/crypto/aes_s390.c +++ b/arch/s390/crypto/aes_s390.c @@ -75,14 +75,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; @@ -170,7 +170,7 @@ static int fallback_init_cip(struct crypto_tfm *tfm) if (IS_ERR(sctx-fallback.cip)) { printk(KERN_ERR Error allocating fallback algo %s\n, name); - return PTR_ERR(sctx-fallback.blk); + return PTR_ERR(sctx-fallback.cip); } return 0; -- 1.6.4.4 -- To unsubscribe from this list: send the line unsubscribe linux-crypto in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-crypto in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] crypto: move fips_cprng_get_random and fips_cprng_reset to CONFIG_CRYPTO_FIPS
fips_cprng_get_random and fips_cprng_reset is used only by CONFIG_CRYPTO_FIPS. This also fixes compilation warnings: crypto/ansi_cprng.c:360: warning: ‘fips_cprng_get_random’ defined but not used crypto/ansi_cprng.c:393: warning: ‘fips_cprng_reset’ defined but not used Signed-off-by: Jaswinder Singh Rajput jaswinderraj...@gmail.com --- crypto/ansi_cprng.c | 56 +- 1 files changed, 28 insertions(+), 28 deletions(-) diff --git a/crypto/ansi_cprng.c b/crypto/ansi_cprng.c index 45bd218..2bc3321 100644 --- a/crypto/ansi_cprng.c +++ b/crypto/ansi_cprng.c @@ -357,14 +357,6 @@ static int cprng_get_random(struct crypto_rng *tfm, u8 *rdata, return get_prng_bytes(rdata, dlen, prng, 0); } -static int fips_cprng_get_random(struct crypto_rng *tfm, u8 *rdata, - unsigned int dlen) -{ - struct prng_context *prng = crypto_rng_ctx(tfm); - - return get_prng_bytes(rdata, dlen, prng, 1); -} - /* * This is the cprng_registered reset method the seed value is * interpreted as the tuple { V KEY DT} @@ -390,26 +382,6 @@ static int cprng_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen) return 0; } -static int fips_cprng_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen) -{ - u8 rdata[DEFAULT_BLK_SZ]; - int rc; - - struct prng_context *prng = crypto_rng_ctx(tfm); - - rc = cprng_reset(tfm, seed, slen); - - if (!rc) - goto out; - - /* this primes our continuity test */ - rc = get_prng_bytes(rdata, DEFAULT_BLK_SZ, prng, 0); - prng-rand_data_valid = DEFAULT_BLK_SZ; - -out: - return rc; -} - static struct crypto_alg rng_alg = { .cra_name = stdrng, .cra_driver_name= ansi_cprng, @@ -431,6 +403,34 @@ static struct crypto_alg rng_alg = { }; #ifdef CONFIG_CRYPTO_FIPS +static int fips_cprng_get_random(struct crypto_rng *tfm, u8 *rdata, + unsigned int dlen) +{ + struct prng_context *prng = crypto_rng_ctx(tfm); + + return get_prng_bytes(rdata, dlen, prng, 1); +} + +static int fips_cprng_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen) +{ + u8 rdata[DEFAULT_BLK_SZ]; + int rc; + + struct prng_context *prng = crypto_rng_ctx(tfm); + + rc = cprng_reset(tfm, seed, slen); + + if (!rc) + goto out; + + /* this primes our continuity test */ + rc = get_prng_bytes(rdata, DEFAULT_BLK_SZ, prng, 0); + prng-rand_data_valid = DEFAULT_BLK_SZ; + +out: + return rc; +} + static struct crypto_alg fips_rng_alg = { .cra_name = fips(ansi_cprng), .cra_driver_name= fips_ansi_cprng, -- 1.6.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-crypto in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] crypto: move fips_cprng_get_random and fips_cprng_reset to CONFIG_CRYPTO_FIPS
On Fri, Nov 20, 2009 at 07:20:19PM +0530, Jaswinder Singh Rajput wrote: fips_cprng_get_random and fips_cprng_reset is used only by CONFIG_CRYPTO_FIPS. This also fixes compilation warnings: crypto/ansi_cprng.c:360: warning: ‘fips_cprng_get_random’ defined but not used crypto/ansi_cprng.c:393: warning: ‘fips_cprng_reset’ defined but not used Signed-off-by: Jaswinder Singh Rajput jaswinderraj...@gmail.com Yeah, looks good to me, thanks! Acked-by: Neil Horman nhor...@tuxdriver.com -- To unsubscribe from this list: send the line unsubscribe linux-crypto in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html