CRED: Detach the credentials from task_struct

Detach the credentials from task_struct, duplicating them in copy_process()
and releasing them in __put_task_struct().

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: James Morris <jmorris@namei.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
David Howells 2008-11-14 10:39:17 +11:00 committed by James Morris
parent b6dff3ec5e
commit f1752eec61
11 changed files with 179 additions and 83 deletions

View file

@ -115,19 +115,6 @@ extern struct group_info init_groups;
extern struct cred init_cred;
#define INIT_CRED(p) \
{ \
.usage = ATOMIC_INIT(3), \
.securebits = SECUREBITS_DEFAULT, \
.cap_inheritable = CAP_INIT_INH_SET, \
.cap_permitted = CAP_FULL_SET, \
.cap_effective = CAP_INIT_EFF_SET, \
.cap_bset = CAP_INIT_BSET, \
.user = INIT_USER, \
.group_info = &init_groups, \
.lock = __SPIN_LOCK_UNLOCKED(p.lock), \
}
/*
* INIT_TASK is used to set up the first task table, touch at
* your own risk!. Base=0, limit=0x1fffff (=2MB)
@ -162,8 +149,7 @@ extern struct cred init_cred;
.children = LIST_HEAD_INIT(tsk.children), \
.sibling = LIST_HEAD_INIT(tsk.sibling), \
.group_leader = &tsk, \
.__temp_cred = INIT_CRED(tsk.__temp_cred), \
.cred = &tsk.__temp_cred, \
.cred = &init_cred, \
.comm = "swapper", \
.thread = INIT_THREAD, \
.fs = &init_fs, \