aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2026-07-17 13:08:33 +0000
committerMark Johnston <markj@FreeBSD.org>2026-07-28 17:34:52 +0000
commit3254ef0007502a505f125bbf453a82efecfbe327 (patch)
tree0ed442c2ecd29d26132678826c338077f35d4d12
parent4316500c27c609d4d9c416f07ff37608d1a5d67b (diff)
ktimer: Check for errors from realtimer_gettime()
clock_gettime(CLOCK_TAI) can fail, leaving *ovalue uninitialized. Approved by: so Security: FreeBSD-SA-26:51.ktimer Security: CVE-2026-58084 Reported by: Hazley Samsudin of GovTech CSG MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58225 (cherry picked from commit 2f1ec7d159cbe56d40e7b6d7fc4188c9079e1783) (cherry picked from commit a4b5ff57ef85031ba52feb70c754ba77f7c92cb0)
-rw-r--r--sys/kern/kern_time.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c
index 2a6f0989f6aa..dec12946dda3 100644
--- a/sys/kern/kern_time.c
+++ b/sys/kern/kern_time.c
@@ -1631,8 +1631,11 @@ realtimer_settime(struct itimer *it, int flags, struct itimerspec *value,
timespecclear(&val.it_interval);
}
- if (ovalue != NULL)
- realtimer_gettime(it, ovalue);
+ if (ovalue != NULL) {
+ error = realtimer_gettime(it, ovalue);
+ if (error != 0)
+ return (error);
+ }
it->it_time = val;
if (timespecisset(&val.it_value)) {