summaryrefslogtreecommitdiff
path: root/crypto/shash.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-13 13:05:57 +0100
committerIngo Molnar <mingo@elte.hu>2009-02-13 13:05:57 +0100
commitced91f4e1addc0ab3d00cbc36af7e4a071b3322b (patch)
tree2973da25894efebef2980db676f9cc91256b328d /crypto/shash.c
parentcaea0bbd996a843c1a9e50a327c3c3dbd6aac534 (diff)
parentab2867eed88e7823dc312e585a65c1c86040edc4 (diff)
downloadlinux-crypto-ced91f4e1addc0ab3d00cbc36af7e4a071b3322b.tar.gz
linux-crypto-ced91f4e1addc0ab3d00cbc36af7e4a071b3322b.zip
Merge branch 'x86/core' into x86/headers
Diffstat (limited to 'crypto/shash.c')
-rw-r--r--crypto/shash.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/crypto/shash.c b/crypto/shash.c
index c9df3673..d5a2b619 100644
--- a/crypto/shash.c
+++ b/crypto/shash.c
@@ -388,10 +388,15 @@ static int crypto_init_shash_ops_compat(struct crypto_tfm *tfm)
struct shash_desc *desc = crypto_tfm_ctx(tfm);
struct crypto_shash *shash;
+ if (!crypto_mod_get(calg))
+ return -EAGAIN;
+
shash = __crypto_shash_cast(crypto_create_tfm(
calg, &crypto_shash_type));
- if (IS_ERR(shash))
+ if (IS_ERR(shash)) {
+ crypto_mod_put(calg);
return PTR_ERR(shash);
+ }
desc->tfm = shash;
tfm->exit = crypto_exit_shash_ops_compat;