diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2008-08-31 08:21:09 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-12-24 19:01:33 -0500 |
commit | 5f7082ed4f482f05db01d84dbf58190492ebf0ad (patch) | |
tree | 34ac4dd0811731457dca0f4bcc440fafc93e517b /crypto/hmac.c | |
parent | 67cd080c5070b4f17520c1385f7684206f4987b3 (diff) |
crypto: hash - Export shash through hash
This patch allows shash algorithms to be used through the old hash
interface. This is a transitional measure so we can convert the
underlying algorithms to shash before converting the users across.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/hmac.c')
-rw-r--r-- | crypto/hmac.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crypto/hmac.c b/crypto/hmac.c index 7ff2d6a8c7d0..0ad39c374963 100644 --- a/crypto/hmac.c +++ b/crypto/hmac.c | |||
@@ -16,7 +16,7 @@ | |||
16 | * | 16 | * |
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <crypto/algapi.h> | 19 | #include <crypto/internal/hash.h> |
20 | #include <crypto/scatterwalk.h> | 20 | #include <crypto/scatterwalk.h> |
21 | #include <linux/err.h> | 21 | #include <linux/err.h> |
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
@@ -238,9 +238,11 @@ static struct crypto_instance *hmac_alloc(struct rtattr **tb) | |||
238 | return ERR_CAST(alg); | 238 | return ERR_CAST(alg); |
239 | 239 | ||
240 | inst = ERR_PTR(-EINVAL); | 240 | inst = ERR_PTR(-EINVAL); |
241 | ds = (alg->cra_flags & CRYPTO_ALG_TYPE_MASK) == | 241 | ds = alg->cra_type == &crypto_hash_type ? |
242 | CRYPTO_ALG_TYPE_HASH ? alg->cra_hash.digestsize : | 242 | alg->cra_hash.digestsize : |
243 | alg->cra_digest.dia_digestsize; | 243 | alg->cra_type ? |
244 | __crypto_shash_alg(alg)->digestsize : | ||
245 | alg->cra_digest.dia_digestsize; | ||
244 | if (ds > alg->cra_blocksize) | 246 | if (ds > alg->cra_blocksize) |
245 | goto out_put_alg; | 247 | goto out_put_alg; |
246 | 248 | ||