diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2011-11-17 02:15:31 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2012-04-07 19:55:51 -0400 |
commit | c4a4d603796c727b9555867571f89483be9c565e (patch) | |
tree | ae3b47a7b8b35c866df53cb4b4a051d49a28904a /kernel/ptrace.c | |
parent | 7e6bd8fadd1216f50468f965d0308f45e5109ced (diff) |
userns: Use cred->user_ns instead of cred->user->user_ns
Optimize performance and prepare for the removal of the user_ns reference
from user_struct. Remove the slow long walk through cred->user->user_ns and
instead go straight to cred->user_ns.
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r-- | kernel/ptrace.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index ee8d49b9c309..24e0a5a94824 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c | |||
@@ -198,7 +198,7 @@ int __ptrace_may_access(struct task_struct *task, unsigned int mode) | |||
198 | return 0; | 198 | return 0; |
199 | rcu_read_lock(); | 199 | rcu_read_lock(); |
200 | tcred = __task_cred(task); | 200 | tcred = __task_cred(task); |
201 | if (cred->user->user_ns == tcred->user->user_ns && | 201 | if (cred->user_ns == tcred->user_ns && |
202 | (cred->uid == tcred->euid && | 202 | (cred->uid == tcred->euid && |
203 | cred->uid == tcred->suid && | 203 | cred->uid == tcred->suid && |
204 | cred->uid == tcred->uid && | 204 | cred->uid == tcred->uid && |
@@ -206,7 +206,7 @@ int __ptrace_may_access(struct task_struct *task, unsigned int mode) | |||
206 | cred->gid == tcred->sgid && | 206 | cred->gid == tcred->sgid && |
207 | cred->gid == tcred->gid)) | 207 | cred->gid == tcred->gid)) |
208 | goto ok; | 208 | goto ok; |
209 | if (ptrace_has_cap(tcred->user->user_ns, mode)) | 209 | if (ptrace_has_cap(tcred->user_ns, mode)) |
210 | goto ok; | 210 | goto ok; |
211 | rcu_read_unlock(); | 211 | rcu_read_unlock(); |
212 | return -EPERM; | 212 | return -EPERM; |