summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_resource.c
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2010-04-28 05:33:59 +0000
committermckusick <mckusick@FreeBSD.org>2010-04-28 05:33:59 +0000
commit3a0f5972a0de87aebef1af257922515700da4217 (patch)
treea65d36ab57a1e076de7e7a1d78add642fbd7062e /sys/kern/kern_resource.c
parentf40c3a9dc50f808e512fcc9f9f738717013b483b (diff)
parenta768cbcadec7189b9947e9f3cde39fe806bbc1d7 (diff)
downloadFreeBSD-src-3a0f5972a0de87aebef1af257922515700da4217.zip
FreeBSD-src-3a0f5972a0de87aebef1af257922515700da4217.tar.gz
Update to current version of head.
Diffstat (limited to 'sys/kern/kern_resource.c')
-rw-r--r--sys/kern/kern_resource.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c
index 81a03ef..f867839 100644
--- a/sys/kern/kern_resource.c
+++ b/sys/kern/kern_resource.c
@@ -471,14 +471,20 @@ rtp_to_pri(struct rtprio *rtp, struct thread *td)
u_char newpri;
u_char oldpri;
- if (rtp->prio > RTP_PRIO_MAX)
- return (EINVAL);
thread_lock(td);
switch (RTP_PRIO_BASE(rtp->type)) {
case RTP_PRIO_REALTIME:
+ if (rtp->prio > RTP_PRIO_MAX) {
+ thread_unlock(td);
+ return (EINVAL);
+ }
newpri = PRI_MIN_REALTIME + rtp->prio;
break;
case RTP_PRIO_NORMAL:
+ if (rtp->prio > (PRI_MAX_TIMESHARE - PRI_MIN_TIMESHARE)) {
+ thread_unlock(td);
+ return (EINVAL);
+ }
newpri = PRI_MIN_TIMESHARE + rtp->prio;
break;
case RTP_PRIO_IDLE:
OpenPOWER on IntegriCloud