diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c --- a/sys/kern/kern_thr.c +++ b/sys/kern/kern_thr.c @@ -202,8 +202,9 @@ switch(rtp->type) { case RTP_PRIO_REALTIME: case RTP_PRIO_FIFO: - /* Only root can set scheduler policy */ - if (priv_check(td, PRIV_SCHED_SETPOLICY) != 0) + /* Needs scheduler policy or realtime privileges */ + if (priv_check(td, PRIV_SCHED_SETPOLICY) != 0 && + priv_check(td, PRIV_SCHED_RTPRIO) != 0) return (EPERM); if (rtp->prio > RTP_PRIO_MAX) return (EINVAL);