summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_ntptime.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2007-01-12 07:40:30 +0000
committerimp <imp@FreeBSD.org>2007-01-12 07:40:30 +0000
commitfaa5da2dc11bab5497861d7d72638c64707f99f7 (patch)
tree136c292b43ae2010d6c1bb3c5c2448b85b48ddad /sys/kern/kern_ntptime.c
parentbfba87044ed3aa6d9d78928e929a593e9261f7e4 (diff)
downloadFreeBSD-src-faa5da2dc11bab5497861d7d72638c64707f99f7.zip
FreeBSD-src-faa5da2dc11bab5497861d7d72638c64707f99f7.tar.gz
When ntp_gettime() was converted from a sysctl + wrapper to a system
call, its semantics were unintentionally changed. It went from returning the time state to returning 0 or -1. Since 0 means time normal, and non-zero effectively only shows up around leap seconds, this went unnoticed until now. At least unnoticed until someone was trying to run a binary they didn't have source for and it was misbehaving... Submitted by: Judah Levine MFC After: 2 weeks
Diffstat (limited to 'sys/kern/kern_ntptime.c')
-rw-r--r--sys/kern/kern_ntptime.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_ntptime.c b/sys/kern/kern_ntptime.c
index 87d10d7..7d2c8fa 100644
--- a/sys/kern/kern_ntptime.c
+++ b/sys/kern/kern_ntptime.c
@@ -268,6 +268,7 @@ ntp_gettime(struct thread *td, struct ntp_gettime_args *uap)
ntp_gettime1(&ntv);
mtx_unlock(&Giant);
+ td->td_retval[0] = ntv.time_state;
return (copyout(&ntv, uap->ntvp, sizeof(ntv)));
}
OpenPOWER on IntegriCloud