git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
crypto
/
api.c
diff --git
a/crypto/api.c
b/crypto/api.c
index
6f0e625
..
394169a
100644
(file)
--- a/
crypto/api.c
+++ b/
crypto/api.c
@@
-155,8
+155,12
@@
out:
void crypto_free_tfm(struct crypto_tfm *tfm)
{
void crypto_free_tfm(struct crypto_tfm *tfm)
{
+ struct crypto_alg *alg = tfm->__crt_alg;
+ int size = sizeof(*tfm) + alg->cra_ctxsize;
+
crypto_exit_ops(tfm);
crypto_exit_ops(tfm);
- crypto_alg_put(tfm->__crt_alg);
+ crypto_alg_put(alg);
+ memset(tfm, 0, size);
kfree(tfm);
}
kfree(tfm);
}