diff options
author | David Howells <dhowells@redhat.com> | 2009-09-14 12:45:39 +0100 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-09-15 09:10:57 +1000 |
commit | 4a5d6ba1914d1bf1fcfb5e15834c29d84a879219 (patch) | |
tree | 2e9e7895b1b9d2ac4a88e1fc9127ba644a7d0679 /kernel | |
parent | 4e6d0bffd3d72a32b620525c9007d2482c731775 (diff) | |
download | linux-4a5d6ba1914d1bf1fcfb5e15834c29d84a879219.tar.gz linux-4a5d6ba1914d1bf1fcfb5e15834c29d84a879219.tar.bz2 linux-4a5d6ba1914d1bf1fcfb5e15834c29d84a879219.zip |
CRED: Allow put_cred() to cope with a NULL groups list
put_cred() will oops if given a NULL groups list, but that is now possible with
the existence of cred_alloc_blank(), as used in keyctl_session_to_parent().
Added in commit:
commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f
Author: David Howells <dhowells@redhat.com>
Date: Wed Sep 2 09:14:21 2009 +0100
KEYS: Add a keyctl to install a process's session keyring on its parent [try #6]
Reported-by: Marc Dionne <marc.c.dionne@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/cred.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/cred.c b/kernel/cred.c index 006fcab009d5..d7f7a01082eb 100644 --- a/kernel/cred.c +++ b/kernel/cred.c @@ -147,7 +147,8 @@ static void put_cred_rcu(struct rcu_head *rcu) key_put(cred->thread_keyring); key_put(cred->request_key_auth); release_tgcred(cred); - put_group_info(cred->group_info); + if (cred->group_info) + put_group_info(cred->group_info); free_uid(cred->user); kmem_cache_free(cred_jar, cred); } |