[PATCH] nice and rt-prio rlimits
Add a pair of rlimits for allowing non-root tasks to raise nice and rt priorities. Defaults to traditional behavior. Originally written by Chris Wright. The patch implements a simple rlimit ceiling for the RT (and nice) priorities a task can set. The rlimit defaults to 0, meaning no change in behavior by default. A value of 50 means RT priority levels 1-50 are allowed. A value of 100 means all 99 privilege levels from 1 to 99 are allowed. CAP_SYS_NICE is blanket permission. (akpm: see http://www.uwsg.iu.edu/hypermail/linux/kernel/0503.1/1921.html for tips on integrating this with PAM). Signed-off-by: Matt Mackall <mpm@selenic.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
9fc1427a01
commit
e43379f10b
@@ -227,7 +227,7 @@ static int set_one_prio(struct task_struct *p, int niceval, int error)
|
||||
error = -EPERM;
|
||||
goto out;
|
||||
}
|
||||
if (niceval < task_nice(p) && !capable(CAP_SYS_NICE)) {
|
||||
if (niceval < task_nice(p) && !can_nice(p, niceval)) {
|
||||
error = -EACCES;
|
||||
goto out;
|
||||
}
|
||||
|
Reference in New Issue
Block a user