diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2008-08-31 22:21:09 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-12-25 11:01:33 +1100 |
commit | 5f7082ed4f482f05db01d84dbf58190492ebf0ad (patch) | |
tree | 34ac4dd0811731457dca0f4bcc440fafc93e517b /crypto/hmac.c | |
parent | 67cd080c5070b4f17520c1385f7684206f4987b3 (diff) | |
download | kernel-common-5f7082ed4f482f05db01d84dbf58190492ebf0ad.tar.gz kernel-common-5f7082ed4f482f05db01d84dbf58190492ebf0ad.tar.bz2 kernel-common-5f7082ed4f482f05db01d84dbf58190492ebf0ad.zip |
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 @@ * */ -#include <crypto/algapi.h> +#include <crypto/internal/hash.h> #include <crypto/scatterwalk.h> #include <linux/err.h> #include <linux/init.h> @@ -238,9 +238,11 @@ static struct crypto_instance *hmac_alloc(struct rtattr **tb) return ERR_CAST(alg); inst = ERR_PTR(-EINVAL); - ds = (alg->cra_flags & CRYPTO_ALG_TYPE_MASK) == - CRYPTO_ALG_TYPE_HASH ? alg->cra_hash.digestsize : - alg->cra_digest.dia_digestsize; + ds = alg->cra_type == &crypto_hash_type ? + alg->cra_hash.digestsize : + alg->cra_type ? + __crypto_shash_alg(alg)->digestsize : + alg->cra_digest.dia_digestsize; if (ds > alg->cra_blocksize) goto out_put_alg; |