summaryrefslogtreecommitdiff
path: root/fs/proc/base.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-03-04 11:51:29 +0100
committerIngo Molnar <mingo@elte.hu>2010-03-04 11:51:29 +0100
commite02c4fd3142dfb9412531bbfabd510a2a7c6ea46 (patch)
tree61b64506b2c016e050f940a89d1ffd36b7c00fdf /fs/proc/base.c
parentae1f30384baef4056438d81b305a6a5199b0d16c (diff)
parentac91d85456372a90af5b85eb6620fd2efb1e431b (diff)
downloadlinux-next-e02c4fd3142dfb9412531bbfabd510a2a7c6ea46.tar.gz
linux-next-e02c4fd3142dfb9412531bbfabd510a2a7c6ea46.zip
Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent
Diffstat (limited to 'fs/proc/base.c')
-rw-r--r--fs/proc/base.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 58324c299165..623e2ffb5d2b 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1095,8 +1095,12 @@ static ssize_t proc_loginuid_write(struct file * file, const char __user * buf,
if (!capable(CAP_AUDIT_CONTROL))
return -EPERM;
- if (current != pid_task(proc_pid(inode), PIDTYPE_PID))
+ rcu_read_lock();
+ if (current != pid_task(proc_pid(inode), PIDTYPE_PID)) {
+ rcu_read_unlock();
return -EPERM;
+ }
+ rcu_read_unlock();
if (count >= PAGE_SIZE)
count = PAGE_SIZE - 1;