aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/scm.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2008-11-13 18:39:10 -0500
committerJames Morris <jmorris@namei.org>2008-11-13 18:39:10 -0500
commit8192b0c482d7078fcdcb4854341b977426f6f09b (patch)
tree6ab545ac9adff7fdc994c7b120b1c9d0915dd62e /net/core/scm.c
parent19d65624d38d6296dddf725d1b03baa8a491a553 (diff)
CRED: Wrap task credential accesses in the networking subsystem
Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: James Morris <jmorris@namei.org> Acked-by: Serge Hallyn <serue@us.ibm.com> Cc: netdev@vger.kernel.org Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'net/core/scm.c')
-rw-r--r--net/core/scm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/core/scm.c b/net/core/scm.c
index 10f5c65f6a4..4681d8f9b45 100644
--- a/net/core/scm.c
+++ b/net/core/scm.c
@@ -45,10 +45,10 @@
45static __inline__ int scm_check_creds(struct ucred *creds) 45static __inline__ int scm_check_creds(struct ucred *creds)
46{ 46{
47 if ((creds->pid == task_tgid_vnr(current) || capable(CAP_SYS_ADMIN)) && 47 if ((creds->pid == task_tgid_vnr(current) || capable(CAP_SYS_ADMIN)) &&
48 ((creds->uid == current->uid || creds->uid == current->euid || 48 ((creds->uid == current_uid() || creds->uid == current_euid() ||
49 creds->uid == current->suid) || capable(CAP_SETUID)) && 49 creds->uid == current_suid()) || capable(CAP_SETUID)) &&
50 ((creds->gid == current->gid || creds->gid == current->egid || 50 ((creds->gid == current_gid() || creds->gid == current_egid() ||
51 creds->gid == current->sgid) || capable(CAP_SETGID))) { 51 creds->gid == current_sgid()) || capable(CAP_SETGID))) {
52 return 0; 52 return 0;
53 } 53 }
54 return -EPERM; 54 return -EPERM;