diff options
Diffstat (limited to 'crypto/xcbc.c')
-rw-r--r-- | crypto/xcbc.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/crypto/xcbc.c b/crypto/xcbc.c index ac68f3b62fde..a82959df678c 100644 --- a/crypto/xcbc.c +++ b/crypto/xcbc.c | |||
@@ -19,6 +19,7 @@ | |||
19 | * Kazunori Miyazawa <miyazawa@linux-ipv6.org> | 19 | * Kazunori Miyazawa <miyazawa@linux-ipv6.org> |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <crypto/scatterwalk.h> | ||
22 | #include <linux/crypto.h> | 23 | #include <linux/crypto.h> |
23 | #include <linux/err.h> | 24 | #include <linux/err.h> |
24 | #include <linux/hardirq.h> | 25 | #include <linux/hardirq.h> |
@@ -27,7 +28,6 @@ | |||
27 | #include <linux/rtnetlink.h> | 28 | #include <linux/rtnetlink.h> |
28 | #include <linux/slab.h> | 29 | #include <linux/slab.h> |
29 | #include <linux/scatterlist.h> | 30 | #include <linux/scatterlist.h> |
30 | #include "internal.h" | ||
31 | 31 | ||
32 | static u_int32_t ks[12] = {0x01010101, 0x01010101, 0x01010101, 0x01010101, | 32 | static u_int32_t ks[12] = {0x01010101, 0x01010101, 0x01010101, 0x01010101, |
33 | 0x02020202, 0x02020202, 0x02020202, 0x02020202, | 33 | 0x02020202, 0x02020202, 0x02020202, 0x02020202, |
@@ -307,7 +307,8 @@ static struct crypto_instance *xcbc_alloc(struct rtattr **tb) | |||
307 | case 16: | 307 | case 16: |
308 | break; | 308 | break; |
309 | default: | 309 | default: |
310 | return ERR_PTR(PTR_ERR(alg)); | 310 | inst = ERR_PTR(-EINVAL); |
311 | goto out_put_alg; | ||
311 | } | 312 | } |
312 | 313 | ||
313 | inst = crypto_alloc_instance("xcbc", alg); | 314 | inst = crypto_alloc_instance("xcbc", alg); |
@@ -320,10 +321,7 @@ static struct crypto_instance *xcbc_alloc(struct rtattr **tb) | |||
320 | inst->alg.cra_alignmask = alg->cra_alignmask; | 321 | inst->alg.cra_alignmask = alg->cra_alignmask; |
321 | inst->alg.cra_type = &crypto_hash_type; | 322 | inst->alg.cra_type = &crypto_hash_type; |
322 | 323 | ||
323 | inst->alg.cra_hash.digestsize = | 324 | inst->alg.cra_hash.digestsize = alg->cra_blocksize; |
324 | (alg->cra_flags & CRYPTO_ALG_TYPE_MASK) == | ||
325 | CRYPTO_ALG_TYPE_HASH ? alg->cra_hash.digestsize : | ||
326 | alg->cra_blocksize; | ||
327 | inst->alg.cra_ctxsize = sizeof(struct crypto_xcbc_ctx) + | 325 | inst->alg.cra_ctxsize = sizeof(struct crypto_xcbc_ctx) + |
328 | ALIGN(inst->alg.cra_blocksize * 3, sizeof(void *)); | 326 | ALIGN(inst->alg.cra_blocksize * 3, sizeof(void *)); |
329 | inst->alg.cra_init = xcbc_init_tfm; | 327 | inst->alg.cra_init = xcbc_init_tfm; |