summaryrefslogtreecommitdiffstats
path: root/crypto/api.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-21 09:00:25 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-21 09:00:25 -0700
commit5f663404b27fa72546a592c5c932b0605b9c93a6 (patch)
treec27e3df5e02232410bf43af6f43d26eec5f53e35 /crypto/api.c
parent55b637c6a003a8c4850b41a2c2fd6942d8a7f530 (diff)
parentda7cd59ab9c8ed233df4809f6c8c90c636f676c7 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] api: Read module pointer before freeing algorithm
Diffstat (limited to 'crypto/api.c')
-rw-r--r--crypto/api.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/api.c b/crypto/api.c
index 55af8bb0f05..33734fd9198 100644
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -48,8 +48,10 @@ EXPORT_SYMBOL_GPL(crypto_mod_get);
void crypto_mod_put(struct crypto_alg *alg)
{
+ struct module *module = alg->cra_module;
+
crypto_alg_put(alg);
- module_put(alg->cra_module);
+ module_put(module);
}
EXPORT_SYMBOL_GPL(crypto_mod_put);