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:40 +0000
commite1c9b0b13a29f69d18dcc24359d7830a9493c5d5 (patch)
tree2a256ffd60c6f85e8c2dbf048e6f5bda98ac6804
parent5a4222a1b225dc151d4262f1bb6e6ff5c1c0c79a (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 5b7485c25cd7..3e8117c40adc 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)) {