diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2015-01-16 03:38:17 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-01-19 22:44:15 -0500 |
commit | 988dc0174411ad4b98c173f3d7d25aca9e56cd85 (patch) | |
tree | 0643382e2d446d1bc46808f569a0e0ec301d2d3a /crypto | |
parent | 3eda71676bd9d396775c41a8b0f91357b1302cd5 (diff) |
crypto: cts - Weed out non-CBC algorithms
The cts algorithm as currently implemented assumes the underlying
is a CBC-mode algorithm. So this patch adds a check for that to
eliminate bogus combinations of cts with non-CBC modes.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/cts.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/cts.c b/crypto/cts.c index 6a8089c4d4b4..e467ec0acf9f 100644 --- a/crypto/cts.c +++ b/crypto/cts.c | |||
@@ -290,6 +290,9 @@ static struct crypto_instance *crypto_cts_alloc(struct rtattr **tb) | |||
290 | if (!is_power_of_2(alg->cra_blocksize)) | 290 | if (!is_power_of_2(alg->cra_blocksize)) |
291 | goto out_put_alg; | 291 | goto out_put_alg; |
292 | 292 | ||
293 | if (strncmp(alg->cra_name, "cbc(", 4)) | ||
294 | goto out_put_alg; | ||
295 | |||
293 | inst = crypto_alloc_instance("cts", alg); | 296 | inst = crypto_alloc_instance("cts", alg); |
294 | if (IS_ERR(inst)) | 297 | if (IS_ERR(inst)) |
295 | goto out_put_alg; | 298 | goto out_put_alg; |