diff options
Diffstat (limited to 'kernel/ptrace.c')
| -rw-r--r-- | kernel/ptrace.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 80b34dffdfb9..c2cee9db5204 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c | |||
| @@ -261,9 +261,6 @@ static int ptrace_check_attach(struct task_struct *child, bool ignore_state) | |||
| 261 | 261 | ||
| 262 | static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode) | 262 | static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode) |
| 263 | { | 263 | { |
| 264 | if (mode & PTRACE_MODE_SCHED) | ||
| 265 | return false; | ||
| 266 | |||
| 267 | if (mode & PTRACE_MODE_NOAUDIT) | 264 | if (mode & PTRACE_MODE_NOAUDIT) |
| 268 | return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE); | 265 | return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE); |
| 269 | else | 266 | else |
| @@ -331,16 +328,9 @@ ok: | |||
| 331 | !ptrace_has_cap(mm->user_ns, mode))) | 328 | !ptrace_has_cap(mm->user_ns, mode))) |
| 332 | return -EPERM; | 329 | return -EPERM; |
| 333 | 330 | ||
| 334 | if (mode & PTRACE_MODE_SCHED) | ||
| 335 | return 0; | ||
| 336 | return security_ptrace_access_check(task, mode); | 331 | return security_ptrace_access_check(task, mode); |
| 337 | } | 332 | } |
| 338 | 333 | ||
| 339 | bool ptrace_may_access_sched(struct task_struct *task, unsigned int mode) | ||
| 340 | { | ||
| 341 | return __ptrace_may_access(task, mode | PTRACE_MODE_SCHED); | ||
| 342 | } | ||
| 343 | |||
| 344 | bool ptrace_may_access(struct task_struct *task, unsigned int mode) | 334 | bool ptrace_may_access(struct task_struct *task, unsigned int mode) |
| 345 | { | 335 | { |
| 346 | int err; | 336 | int err; |
