git: d08cb1dc1748 - main - watchdog: Fix a couple type issues
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 10 Jun 2026 14:08:17 UTC
The branch main has been updated by jhibbits:
URL: https://cgit.FreeBSD.org/src/commit/?id=d08cb1dc17486920c1506f175d77259e0ac3f3a3
commit d08cb1dc17486920c1506f175d77259e0ac3f3a3
Author: Justin Hibbits <jhibbits@FreeBSD.org>
AuthorDate: 2026-06-10 13:50:14 +0000
Commit: Justin Hibbits <jhibbits@FreeBSD.org>
CommitDate: 2026-06-10 14:04:40 +0000
watchdog: Fix a couple type issues
* Force the type of the literal `1` passed to nstosbt() to ensure it's a
64-bit type (or larger). Otherwise it gets inconveniently typed to
int, resulting in truncation.
* Use `flsll()` when converting sbt to power-of-2-nanoseconds to fix
32-bit compatibility.
PR: 292616
Obtained from: Hewlett Packard Enterprise
Fixes: 26d6617f3 ("watchdog: Convert to using sbintime_t format")
MFC after: 3 days
---
sys/dev/watchdog/watchdog.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys/dev/watchdog/watchdog.c b/sys/dev/watchdog/watchdog.c
index c599db56bf95..4c166a2bd7e9 100644
--- a/sys/dev/watchdog/watchdog.c
+++ b/sys/dev/watchdog/watchdog.c
@@ -110,7 +110,7 @@ wdog_kern_pat(u_int utim)
if (utim == WD_TO_NEVER)
sbt = 0;
else
- sbt = nstosbt(1 << utim);
+ sbt = nstosbt(1ULL << utim);
return (wdog_kern_pat_sbt(sbt));
}
@@ -142,7 +142,7 @@ wdog_kern_pat_sbt(sbintime_t sbt)
/* legacy uses power-of-2-nanoseconds time. */
if (sbt != 0) {
- pow2ns = flsl(sbttons(sbt));
+ pow2ns = flsll(sbttons(sbt));
}
if (wd_last_sbt != sbt) {
wd_last_u = pow2ns;