lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260123231521.858743259@kernel.org>
Date: Sat, 24 Jan 2026 00:17:57 +0100
From: Thomas Gleixner <tglx@...nel.org>
To: LKML <linux-kernel@...r.kernel.org>
Cc: "Paul E. McKenney" <paulmck@...nel.org>,
 John Stultz <jstultz@...gle.com>,
 Waiman Long <longman@...hat.com>,
 Peter Zijlstra <peterz@...radead.org>,
 Daniel Lezcano <daniel.lezcano@...aro.org>,
 Stephen Boyd <sboyd@...nel.org>,
 x86@...nel.org,
 "Gautham R. Shenoy" <gautham.shenoy@....com>,
 Jiri Wiesner <jwiesner@...e.de>,
 Daniel J Blueman <daniel@...ra.org>,
 Scott Hamilton <scott.hamilton@...den.com>,
 Helge Deller <deller@....de>,
 linux-parisc@...r.kernel.org,
 Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
 linux-mips@...r.kernel.org
Subject: [patch 4/5] clocksource: Dont use non-continuous clocksources as
 watchdog

Using a non-continuous aka untrusted clocksource as a watchdog for another
untrusted clocksource is equivalent to putting the fox in charge of the
henhouse.

That's especially true with the jiffies clocksource which depends on
interrupt delivery based on a periodic timer. Neither the frequency of that
timer is trustworthy nor the kernel's ability to react on it in a timely
manner and rearm it if it is not self rearming.

Just don't bother to deal with this. It's not worth the trouble and only
relevant to museum piece hardware.

Signed-off-by: Thomas Gleixner <tglx@...nel.org>
---
 kernel/time/clocksource.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -651,6 +651,13 @@ static void clocksource_select_watchdog(
 		if (cs->flags & CLOCK_SOURCE_MUST_VERIFY)
 			continue;
 
+		/*
+		 * If it's not continuous, don't put the fox in charge of
+		 * the henhouse.
+		 */
+		if (!(cs->flags & CLOCK_SOURCE_IS_CONTINUOUS))
+			continue;
+
 		/* Skip current if we were requested for a fallback. */
 		if (fallback && cs == old_wd)
 			continue;


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ