diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c index 94c48f2ed8f9..cffb39771ede 100644 --- a/kernel/sched/syscalls.c +++ b/kernel/sched/syscalls.c @@ -514,6 +514,12 @@ static int user_check_sched_setscheduler(struct task_struct *p, if (p->sched_reset_on_fork && !reset_on_fork) goto req_priv; + if (!capable(CAP_SYS_NICE)) { + /* Can't change util-clamps */ + if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) + return -EPERM; + } + return 0; req_priv: