diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2015-06-21 19:11:41 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-06-22 15:49:16 +0800 |
commit | 21dbd96f2287a49219d35a0e916cf3f2bcaab9d0 (patch) | |
tree | a451df51aba5981cfe1b855e3ad95ec05c37f765 | |
parent | 7eac7144dd1ef11c05a5f7605de6afa3770982e4 (diff) | |
download | linux-21dbd96f2287a49219d35a0e916cf3f2bcaab9d0.tar.gz linux-21dbd96f2287a49219d35a0e916cf3f2bcaab9d0.tar.bz2 linux-21dbd96f2287a49219d35a0e916cf3f2bcaab9d0.zip |
crypto: skcipher - Allow givencrypt to be NULL
Currently for skcipher IV generators they must provide givencrypt
as that is the whole point. We are currently replacing skcipher
IV generators with explicit IV generators. In order to maintain
backwards compatibility, we need to allow the IV generators to
still function as a normal skcipher when the RNG Is not present
(e.g., in the initramfs during boot). IOW everything but givencrypt
and givdecrypt will still work but those two will fail.
Therefore this patch assigns a default givencrypt that simply
returns an error should it be NULL.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | crypto/ablkcipher.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c index b15d797f94f9..b788f169cc98 100644 --- a/crypto/ablkcipher.c +++ b/crypto/ablkcipher.c @@ -454,7 +454,7 @@ static int crypto_init_givcipher_ops(struct crypto_tfm *tfm, u32 type, alg->setkey : setkey; crt->encrypt = alg->encrypt; crt->decrypt = alg->decrypt; - crt->givencrypt = alg->givencrypt; + crt->givencrypt = alg->givencrypt ?: no_givdecrypt; crt->givdecrypt = alg->givdecrypt ?: no_givdecrypt; crt->base = __crypto_ablkcipher_cast(tfm); crt->ivsize = alg->ivsize; |