summaryrefslogtreecommitdiff
path: root/fs/proc/base.c
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2011-07-08 15:58:56 -0700
committerJohn Stultz <john.stultz@linaro.org>2011-07-08 15:58:56 -0700
commita448bfbd8e15bb2ed380a75f20adeb6e8d752abb (patch)
tree1ab81f3867a5f7e0e9a6cc06fac678d670c2d464 /fs/proc/base.c
parent2aced4d6099ce987233ab2ffad42b90800dadf09 (diff)
parent0226f8a76da6bc97c9bb4af3fd2f6eeb03c5b0b0 (diff)
Merge branch 'upstream/android-3.0' into linaro-android-3.0
Diffstat (limited to 'fs/proc/base.c')
-rw-r--r--fs/proc/base.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 1b626e14e8b..cc9c0c3bf6f 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2748,6 +2748,9 @@ static int do_io_accounting(struct task_struct *task, char *buffer, int whole)
struct task_io_accounting acct = task->ioac;
unsigned long flags;
+ if (!ptrace_may_access(task, PTRACE_MODE_READ))
+ return -EACCES;
+
if (whole && lock_task_sighand(task, &flags)) {
struct task_struct *t = task;
@@ -2879,7 +2882,7 @@ static const struct pid_entry tgid_base_stuff[] = {
REG("coredump_filter", S_IRUGO|S_IWUSR, proc_coredump_filter_operations),
#endif
#ifdef CONFIG_TASK_IO_ACCOUNTING
- INF("io", S_IRUGO, proc_tgid_io_accounting),
+ INF("io", S_IRUSR, proc_tgid_io_accounting),
#endif
#ifdef CONFIG_HARDWALL
INF("hardwall", S_IRUGO, proc_pid_hardwall),
@@ -3221,7 +3224,7 @@ static const struct pid_entry tid_base_stuff[] = {
REG("make-it-fail", S_IRUGO|S_IWUSR, proc_fault_inject_operations),
#endif
#ifdef CONFIG_TASK_IO_ACCOUNTING
- INF("io", S_IRUGO, proc_tid_io_accounting),
+ INF("io", S_IRUSR, proc_tid_io_accounting),
#endif
#ifdef CONFIG_HARDWALL
INF("hardwall", S_IRUGO, proc_pid_hardwall),