X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=fs%2Fioprio.c;h=7fa76ed53c10333cfd703c97eb1fb25669985e12;hb=e77deacb7b078156fcadf27b838a4ce1a65eda04;hp=97e1f088ba00b3b63f7f9ea594b756781fcf6596;hpb=d6ac1a7910d22626bc77e73db091e00b810715f4;p=powerpc.git diff --git a/fs/ioprio.c b/fs/ioprio.c index 97e1f088ba..7fa76ed53c 100644 --- a/fs/ioprio.c +++ b/fs/ioprio.c @@ -22,15 +22,23 @@ #include #include #include +#include +#include +#include static int set_task_ioprio(struct task_struct *task, int ioprio) { + int err; struct io_context *ioc; if (task->uid != current->euid && task->uid != current->uid && !capable(CAP_SYS_NICE)) return -EPERM; + err = security_task_setioprio(task, ioprio); + if (err) + return err; + task_lock(task); task->ioprio = ioprio; @@ -62,6 +70,8 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio) break; case IOPRIO_CLASS_IDLE: + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; break; default: return -EINVAL;