aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ioprio.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ioprio.c')
-rw-r--r--fs/ioprio.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/ioprio.c b/fs/ioprio.c
index 10d2c211d18b..0a615f87142e 100644
--- a/fs/ioprio.c
+++ b/fs/ioprio.c
@@ -25,6 +25,7 @@
25#include <linux/capability.h> 25#include <linux/capability.h>
26#include <linux/syscalls.h> 26#include <linux/syscalls.h>
27#include <linux/security.h> 27#include <linux/security.h>
28#include <linux/pid_namespace.h>
28 29
29static int set_task_ioprio(struct task_struct *task, int ioprio) 30static int set_task_ioprio(struct task_struct *task, int ioprio)
30{ 31{
@@ -93,7 +94,8 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
93 if (!who) 94 if (!who)
94 p = current; 95 p = current;
95 else 96 else
96 p = find_task_by_pid(who); 97 p = find_task_by_pid_ns(who,
98 current->nsproxy->pid_ns);
97 if (p) 99 if (p)
98 ret = set_task_ioprio(p, ioprio); 100 ret = set_task_ioprio(p, ioprio);
99 break; 101 break;
@@ -101,7 +103,7 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
101 if (!who) 103 if (!who)
102 pgrp = task_pgrp(current); 104 pgrp = task_pgrp(current);
103 else 105 else
104 pgrp = find_pid(who); 106 pgrp = find_vpid(who);
105 do_each_pid_task(pgrp, PIDTYPE_PGID, p) { 107 do_each_pid_task(pgrp, PIDTYPE_PGID, p) {
106 ret = set_task_ioprio(p, ioprio); 108 ret = set_task_ioprio(p, ioprio);
107 if (ret) 109 if (ret)
@@ -180,7 +182,8 @@ asmlinkage long sys_ioprio_get(int which, int who)
180 if (!who) 182 if (!who)
181 p = current; 183 p = current;
182 else 184 else
183 p = find_task_by_pid(who); 185 p = find_task_by_pid_ns(who,
186 current->nsproxy->pid_ns);
184 if (p) 187 if (p)
185 ret = get_task_ioprio(p); 188 ret = get_task_ioprio(p);
186 break; 189 break;
@@ -188,7 +191,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
188 if (!who) 191 if (!who)
189 pgrp = task_pgrp(current); 192 pgrp = task_pgrp(current);
190 else 193 else
191 pgrp = find_pid(who); 194 pgrp = find_vpid(who);
192 do_each_pid_task(pgrp, PIDTYPE_PGID, p) { 195 do_each_pid_task(pgrp, PIDTYPE_PGID, p) {
193 tmpio = get_task_ioprio(p); 196 tmpio = get_task_ioprio(p);
194 if (tmpio < 0) 197 if (tmpio < 0)