aboutsummaryrefslogtreecommitdiffstats
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
parentLinux v2.6.22-rc2 (diff)
parent[CRYPTO] api: Read module pointer before freeing algorithm (diff)
downloadlinux-dev-5f663404b27fa72546a592c5c932b0605b9c93a6.tar.xz
linux-dev-5f663404b27fa72546a592c5c932b0605b9c93a6.zip
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
-rw-r--r--crypto/api.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/api.c b/crypto/api.c
index 55af8bb0f050..33734fd9198f 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);