Merge branch 'master' into export-slabh
[linux-2.6-block.git] / kernel / cred.c
index d84bdef17c9f091fa3f5baf8cc8e0c22774c3084..e1dbe9eef800b8be745650d095334df6be4ab433 100644 (file)
@@ -365,7 +365,7 @@ struct cred *prepare_usermodehelper_creds(void)
 
        new = kmem_cache_alloc(cred_jar, GFP_ATOMIC);
        if (!new)
-               return NULL;
+               goto free_tgcred;
 
        kdebug("prepare_usermodehelper_creds() alloc %p", new);
 
@@ -398,6 +398,10 @@ struct cred *prepare_usermodehelper_creds(void)
 
 error:
        put_cred(new);
+free_tgcred:
+#ifdef CONFIG_KEYS
+       kfree(tgcred);
+#endif
        return NULL;
 }