diff --git a/[refs] b/[refs] index b961551d679f..e01264e009e7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8e15992b420d09dae831125a623c474c8637cee +refs/heads/master: 4abfd73e34e7915e62b6f75bd3e9f4014f830910 diff --git a/trunk/crypto/shash.c b/trunk/crypto/shash.c index c9df367332ff..d5a2b619c55f 100644 --- a/trunk/crypto/shash.c +++ b/trunk/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;