X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=kernel%2Fcred.c;h=62af1816c2352eaa9238887ef567a0b62ab5426f;hb=777d0411cd1e384115985dac5ccd42031e3eee2b;hp=e1dbe9eef800b8be745650d095334df6be4ab433;hpb=336f5899d287f06d8329e208fc14ce50f7ec9698;p=safe%2Fjmp%2Flinux-2.6 diff --git a/kernel/cred.c b/kernel/cred.c index e1dbe9e..62af181 100644 --- a/kernel/cred.c +++ b/kernel/cred.c @@ -398,6 +398,8 @@ struct cred *prepare_usermodehelper_creds(void) error: put_cred(new); + return NULL; + free_tgcred: #ifdef CONFIG_KEYS kfree(tgcred); @@ -791,8 +793,6 @@ bool creds_are_invalid(const struct cred *cred) { if (cred->magic != CRED_MAGIC) return true; - if (atomic_read(&cred->usage) < atomic_read(&cred->subscribers)) - return true; #ifdef CONFIG_SECURITY_SELINUX if (selinux_is_enabled()) { if ((unsigned long) cred->security < PAGE_SIZE)