diff options
Diffstat (limited to 'fs/ioprio.c')
| -rw-r--r-- | fs/ioprio.c | 11 |
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 | ||
| 29 | static int set_task_ioprio(struct task_struct *task, int ioprio) | 30 | static 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) |
