summaryrefslogtreecommitdiff
path: root/crypto/pcrypt.c
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2010-11-10 12:21:43 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2010-11-12 07:58:46 -0800
commitf6cb9476a4c15bc6f3366feb5e733ef2f294014d (patch)
treef3b2739332ddf870579ea4cce2c012759586621c /crypto/pcrypt.c
parentae4852062ba8c438d7e054d81fb6a22f3265ee12 (diff)
downloadlinux-crypto-f6cb9476a4c15bc6f3366feb5e733ef2f294014d.tar.gz
linux-crypto-f6cb9476a4c15bc6f3366feb5e733ef2f294014d.zip
crypto: pcrypt - Fix use after free on padata_free
kobject_put is called from padata_free for the padata kobject. The kobject's release function frees the padata instance, so don't call kobject_put for the padata kobject from pcrypt. Reported-and-tested-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'crypto/pcrypt.c')
-rw-r--r--crypto/pcrypt.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/crypto/pcrypt.c b/crypto/pcrypt.c
index de307821..75586f1f 100644
--- a/crypto/pcrypt.c
+++ b/crypto/pcrypt.c
@@ -504,7 +504,6 @@ err:
static void pcrypt_fini_padata(struct padata_pcrypt *pcrypt)
{
- kobject_put(&pcrypt->pinst->kobj);
free_cpumask_var(pcrypt->cb_cpumask->mask);
kfree(pcrypt->cb_cpumask);