X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fioprio.c;h=d1c1f2b2c9da9796affc6be18b8793489b9f2873;hb=4c87b74c72d42f7272aa4bf8f17c73bb53774eee;hp=663e420636d6b76e147d1b1e3984acc5aefd115a;hpb=8644d2a42bdba2d513f71c07eaf1b6f9b718b8eb;p=linux-2.6 diff --git a/fs/ioprio.c b/fs/ioprio.c index 663e420636..d1c1f2b2c9 100644 --- a/fs/ioprio.c +++ b/fs/ioprio.c @@ -43,7 +43,7 @@ static int set_task_ioprio(struct task_struct *task, int ioprio) return 0; } -asmlinkage int sys_ioprio_set(int which, int who, int ioprio) +asmlinkage long sys_ioprio_set(int which, int who, int ioprio) { int class = IOPRIO_PRIO_CLASS(ioprio); int data = IOPRIO_PRIO_DATA(ioprio); @@ -62,6 +62,8 @@ asmlinkage int 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; @@ -115,7 +117,7 @@ asmlinkage int sys_ioprio_set(int which, int who, int ioprio) return ret; } -asmlinkage int sys_ioprio_get(int which, int who) +asmlinkage long sys_ioprio_get(int which, int who) { struct task_struct *g, *p; struct user_struct *user;