From e31a849e1df1a0a372825859f8a962dbe4b47764 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Tue, 19 Jan 2010 05:38:26 +0100 Subject: [PATCH] sched_rr_get_interval(2): Use copyout(9) for the interval argument. This fixes a panic discovered when NULL was passed as interval. --- sys/kern/kern_p1003_1b.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_p1003_1b.c b/sys/kern/kern_p1003_1b.c index df4a249392..03ae40e3a8 100644 --- a/sys/kern/kern_p1003_1b.c +++ b/sys/kern/kern_p1003_1b.c @@ -310,11 +310,13 @@ sys_sched_rr_get_interval(struct sched_rr_get_interval_args *uap) int e; struct proc *p = curproc; struct lwp *lp = curthread->td_lwp; + struct timespec ts; get_mplock(); if ((e = p31b_proc(p, uap->pid, &p)) == 0) { - e = ksched_rr_get_interval(&uap->sysmsg_reg, ksched, - lp, uap->interval); + e = ksched_rr_get_interval(&uap->sysmsg_reg, ksched, lp, &ts); + if (e == 0) + e = copyout(&ts, uap->interval, sizeof(ts)); } rel_mplock(); return e; -- 2.11.4.GIT