Files
kernel_arpi/include/linux
David Howells 3b11a1dece CRED: Differentiate objective and effective subjective credentials on a task
Differentiate the objective and real subjective credentials from the effective
subjective credentials on a task by introducing a second credentials pointer
into the task_struct.

task_struct::real_cred then refers to the objective and apparent real
subjective credentials of a task, as perceived by the other tasks in the
system.

task_struct::cred then refers to the effective subjective credentials of a
task, as used by that task when it's actually running.  These are not visible
to the other tasks in the system.

__task_cred(task) then refers to the objective/real credentials of the task in
question.

current_cred() refers to the effective subjective credentials of the current
task.

prepare_creds() uses the objective creds as a base and commit_creds() changes
both pointers in the task_struct (indeed commit_creds() requires them to be the
same).

override_creds() and revert_creds() change the subjective creds pointer only,
and the former returns the old subjective creds.  These are used by NFSD,
faccessat() and do_coredump(), and will by used by CacheFiles.

In SELinux, current_has_perm() is provided as an alternative to
task_has_perm().  This uses the effective subjective context of current,
whereas task_has_perm() uses the objective/real context of the subject.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
2008-11-14 10:39:26 +11:00
..
2008-10-22 01:19:37 +02:00
2008-10-20 09:03:12 -07:00
2008-10-13 21:51:51 +01:00
2008-10-30 11:38:47 -07:00
2008-10-15 15:54:56 -04:00
2008-10-20 11:01:52 -07:00
2008-10-16 11:21:51 -07:00
2008-10-20 08:52:42 -07:00
2008-10-20 08:52:32 -07:00
2008-11-14 10:39:23 +11:00
2008-10-30 11:38:45 -07:00
2008-10-16 11:21:32 -07:00
2008-10-14 10:35:08 +02:00
2008-10-18 14:29:15 +01:00
2008-10-16 16:53:13 +02:00
2008-10-12 12:05:55 +02:00
2008-11-14 10:39:25 +11:00
2008-10-23 16:00:24 +02:00
2008-10-16 16:08:57 +02:00
2008-10-16 11:21:40 -07:00
2008-10-14 23:51:02 +02:00
2008-10-22 20:21:33 +02:00
2008-10-16 11:21:38 -07:00
2008-10-09 11:59:55 -07:00
2008-10-29 22:02:09 +01:00
2008-10-18 14:29:15 +01:00
2008-11-03 18:21:45 +01:00
2008-10-15 14:24:08 +02:00
2008-10-18 14:05:18 +02:00
2008-10-30 11:38:47 -07:00
2008-10-28 14:22:15 +02:00
2008-10-20 22:34:12 +01:00
2008-10-14 10:35:08 +02:00
2008-10-13 09:47:43 +11:00
2008-10-09 08:56:06 +02:00
2008-10-20 08:52:31 -07:00
2008-10-20 08:52:30 -07:00
2008-10-22 10:00:23 +11:00
2008-10-17 13:06:45 -04:00
2008-10-20 08:52:32 -07:00
2008-10-20 08:50:26 -07:00
2008-10-16 11:21:49 -07:00
2008-10-22 16:42:43 -07:00
2008-10-23 00:11:07 -04:00
2008-10-23 18:54:05 +04:00
2008-10-20 08:52:39 -07:00
2008-10-16 11:21:46 -07:00
2008-10-16 11:21:46 -07:00
2008-10-20 08:52:40 -07:00
2008-11-02 10:15:07 -08:00
2008-10-20 08:52:31 -07:00
2008-10-16 11:21:47 -07:00
2008-10-16 11:21:45 -07:00
2008-10-13 09:51:40 -07:00
2008-10-17 14:41:02 -07:00
2008-10-16 11:21:31 -07:00