Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 9 May 2007 03:33:59 +0000 (20:33 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 9 May 2007 03:33:59 +0000 (20:33 -0700)
* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] cryptomgr: Fix use after free

crypto/cryptomgr.c

index 6958ea8..e5fb7cc 100644 (file)
@@ -24,8 +24,6 @@
 #include "internal.h"
 
 struct cryptomgr_param {
-       struct task_struct *thread;
-
        struct rtattr *tb[CRYPTOA_MAX];
 
        struct {
@@ -81,6 +79,7 @@ err:
 
 static int cryptomgr_schedule_probe(struct crypto_larval *larval)
 {
+       struct task_struct *thread;
        struct cryptomgr_param *param;
        const char *name = larval->alg.cra_name;
        const char *p;
@@ -130,8 +129,8 @@ static int cryptomgr_schedule_probe(struct crypto_larval *larval)
 
        memcpy(param->larval.name, larval->alg.cra_name, CRYPTO_MAX_ALG_NAME);
 
-       param->thread = kthread_run(cryptomgr_probe, param, "cryptomgr");
-       if (IS_ERR(param->thread))
+       thread = kthread_run(cryptomgr_probe, param, "cryptomgr");
+       if (IS_ERR(thread))
                goto err_free_param;
 
        return NOTIFY_STOP;