Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Dec 2011 12:35:13 +0000 (UTC)
From:      Peter Holm <pho@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r228221 - head/sys/kern
Message-ID:  <201112031235.pB3CZDGv039506@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pho
Date: Sat Dec  3 12:35:13 2011
New Revision: 228221
URL: http://svn.freebsd.org/changeset/base/228221

Log:
  Use umtx_copyin_timeout() to copy and check timeout parameter.
  
  In collaboration with:	kib
  MFC after:	1 week

Modified:
  head/sys/kern/kern_thr.c

Modified: head/sys/kern/kern_thr.c
==============================================================================
--- head/sys/kern/kern_thr.c	Sat Dec  3 12:33:17 2011	(r228220)
+++ head/sys/kern/kern_thr.c	Sat Dec  3 12:35:13 2011	(r228221)
@@ -450,8 +450,7 @@ sys_thr_suspend(struct thread *td, struc
 
 	tsp = NULL;
 	if (uap->timeout != NULL) {
-		error = copyin((const void *)uap->timeout, (void *)&ts,
-		    sizeof(struct timespec));
+		error = umtx_copyin_timeout(uap->timeout, &ts);
 		if (error != 0)
 			return (error);
 		tsp = &ts;
@@ -474,9 +473,6 @@ kern_thr_suspend(struct thread *td, stru
 	}
 
 	if (tsp != NULL) {
-		if (tsp->tv_sec < 0 || tsp->tv_nsec < 0 ||
-		    tsp->tv_nsec > 1000000000)
-			return (EINVAL);
 		if (tsp->tv_sec == 0 && tsp->tv_nsec == 0)
 			error = EWOULDBLOCK;
 		else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112031235.pB3CZDGv039506>