git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ptrace: use fsuid, fsgid, effective creds for fs access checks
[pandora-kernel.git]
/
mm
/
process_vm_access.c
diff --git
a/mm/process_vm_access.c
b/mm/process_vm_access.c
index
e920aa3
..
88c35c9
100644
(file)
--- a/
mm/process_vm_access.c
+++ b/
mm/process_vm_access.c
@@
-299,7
+299,7
@@
static ssize_t process_vm_rw_core(pid_t pid, const struct iovec *lvec,
}
task_lock(task);
}
task_lock(task);
- if (__ptrace_may_access(task, PTRACE_MODE_ATTACH)) {
+ if (__ptrace_may_access(task, PTRACE_MODE_ATTACH
_REALCREDS
)) {
task_unlock(task);
rc = -EPERM;
goto put_task_struct;
task_unlock(task);
rc = -EPERM;
goto put_task_struct;
@@
-434,12
+434,6
@@
compat_process_vm_rw(compat_pid_t pid,
if (flags != 0)
return -EINVAL;
if (flags != 0)
return -EINVAL;
- if (!access_ok(VERIFY_READ, lvec, liovcnt * sizeof(*lvec)))
- goto out;
-
- if (!access_ok(VERIFY_READ, rvec, riovcnt * sizeof(*rvec)))
- goto out;
-
if (vm_write)
rc = compat_rw_copy_check_uvector(WRITE, lvec, liovcnt,
UIO_FASTIOV, iovstack_l,
if (vm_write)
rc = compat_rw_copy_check_uvector(WRITE, lvec, liovcnt,
UIO_FASTIOV, iovstack_l,
@@
-464,8
+458,6
@@
free_iovecs:
kfree(iov_r);
if (iov_l != iovstack_l)
kfree(iov_l);
kfree(iov_r);
if (iov_l != iovstack_l)
kfree(iov_l);
-
-out:
return rc;
}
return rc;
}