diff options
author | dchagin <dchagin@FreeBSD.org> | 2015-12-27 15:37:07 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2015-12-27 15:37:07 +0000 |
commit | dad18197321e39c593d85743e49c2c26486ccf63 (patch) | |
tree | e459c298e24469daff55052ffe342241653d4c3b /lib | |
parent | 6cbc48de82fcf894c69c41588fd14c5c4f410244 (diff) | |
download | FreeBSD-src-dad18197321e39c593d85743e49c2c26486ccf63.zip FreeBSD-src-dad18197321e39c593d85743e49c2c26486ccf63.tar.gz |
Verify that tv_sec value specified in settimeofday() and clock_settime()
(CLOCK_REALTIME case) system calls is non negative.
This commit hides a kernel panic in atrtc_settime() as the clock_ts_to_ct()
does not properly convert negative tv_sec.
ps. in my opinion clock_ts_to_ct() should be rewritten to properly handle
negative tv_sec values.
Differential Revision: https://reviews.freebsd.org/D4714
Reviewed by: kib
MFC after: 1 week
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/sys/clock_gettime.2 | 4 | ||||
-rw-r--r-- | lib/libc/sys/gettimeofday.2 | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/libc/sys/clock_gettime.2 b/lib/libc/sys/clock_gettime.2 index b42432f..e77b1e8 100644 --- a/lib/libc/sys/clock_gettime.2 +++ b/lib/libc/sys/clock_gettime.2 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 20, 2015 +.Dd December 27, 2015 .Dt CLOCK_GETTIME 2 .Os .Sh NAME @@ -134,6 +134,8 @@ The following error codes may be set in .It Bq Er EINVAL The .Fa clock_id +or +.Fa timespec argument was not a valid value. .It Bq Er EPERM diff --git a/lib/libc/sys/gettimeofday.2 b/lib/libc/sys/gettimeofday.2 index 888cbcd..86b6b1a 100644 --- a/lib/libc/sys/gettimeofday.2 +++ b/lib/libc/sys/gettimeofday.2 @@ -28,7 +28,7 @@ .\" @(#)gettimeofday.2 8.2 (Berkeley) 5/26/95 .\" $FreeBSD$ .\" -.Dd December 20, 2015 +.Dd December 27, 2015 .Dt GETTIMEOFDAY 2 .Os .Sh NAME @@ -110,6 +110,10 @@ system call even when the system is secure. The following error codes may be set in .Va errno : .Bl -tag -width Er +.It Bq Er EINVAL +The supplied +.Fa timeval +value is invalid. .It Bq Er EPERM A user other than the super-user attempted to set the time. .El |