X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=kernel%2Fcred.c;h=8f3672a58a1e82a39de67ee4f35e7b2f0c12ac2b;hb=8c7b09f43f4bf570654bcc458ce96819a932303c;hp=4f483be5944cc96b12e656b98f50019822b43afc;hpb=b257c14ceb1194a6181144210056d38f22127189;p=safe%2Fjmp%2Flinux-2.6 diff --git a/kernel/cred.c b/kernel/cred.c index 4f483be..8f3672a 100644 --- a/kernel/cred.c +++ b/kernel/cred.c @@ -397,6 +397,8 @@ struct cred *prepare_usermodehelper_creds(void) error: put_cred(new); + return NULL; + free_tgcred: #ifdef CONFIG_KEYS kfree(tgcred); @@ -788,8 +790,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)