linux/kernel/time
Linus Torvalds 7a3d2740d1 Misc timer fixes:
- Fix on-stack hrtimer cleanup in play_idle_precise(), and
    add the hrtimer_on_stack cleanup class to facilitate the fix
    (Hui Su)
 
  - Fix clock_getres() system call's handling of NULL output
    pointer in the !CONFIG_POSIX_TIMERS case (Hungyu Lin)
 
  - Fix get_cpu_itimer() to return TICK_NSEC when the sampled CPU time
    is exactly equal to the nonzero expiry (Hungyu Lin)
 
  - Fix do_timens_ktime_to_host() time offset subtraction underflow
    check (Hungyu Lin)
 
  - Report zero remaining time for disarmed SIGEV_NONE posix timers,
    and add a self-test to detect this bug in the future (Hung-Jui Lin)
 
  - Fix NOHZ 'full kick' handling bug that can cause missed
    tick updates (Peng Wang)
 
  - Fix field access bug in the vdso/gettimeofday code that works
    only by accident (Thomas Weißschuh)
 
  - Fix & prevent immediate clocksource watchdog rerun after a delay
    (Karl Mehltretter)
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmrm49IRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1iTDA/5Aebi9AA+RG07pniYhgx8D47I+mEB+5EG
 Jthzq2OZ2rdH4IlI+YKN4KsQNnksNEkXzFmOe4KjVdogfr4JJqJ3UOv0HeNSaOtK
 2MD68CswEOZQR9L/8X6VaVoCZp3TkoRP6OPU0DSJeD/ELU8xeKhyBlerA0isgluU
 Oc9fePsQniN3zay7QkfViBM5D1D9SA54rp8TPaq9ZxstLqPFjzFcMtFLILm1syeZ
 vnsCz1dX5sUkEKkcDClcv3gp8LL7l3r+M+z7MuplO7NYYqCFzD/DFodKVIVMBr1u
 pd9XuGHo+6qF9+WXzC3wlLd6ZauC0gSFqOGdqeQoiQrOwt2xxNNFtr2NvHPtCmOL
 2014sHRk2KxZP1Hc7VvwGRD/fSTrkTYlQMXkuP5zQMzlpSiWLzmffH5Y2RohS6BB
 NyEw7bI9LaQ1zUatuYPkwKKcZQNhM6uaUIjfWvCIQYC0WmgIhN2r+4gTDc4jenU4
 6YDnxmE3dyTHlPgksBViDN/p6sNszeoq/KgRSRuM8H7VD6TlKgcHEmGXF3LhgAtY
 U7tfQ63ReDWuj2KmNyhT1lP0kBEJKbTouXn3CuGvtsmupLR+gmgZ13p8iPPpqgbO
 P8GH+5l2Cz9SieFbJqoXZ5D8dOEB5sVjAden7iZol2ALjIlWySDPaFWFJjqsDUfy
 Lmfu0V5K5ZU=
 =WzWb
 -----END PGP SIGNATURE-----

Merge tag 'timers-urgent-2026-11-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fixes from Ingo Molnar:

 - Fix on-stack hrtimer cleanup in play_idle_precise(), and
   add the hrtimer_on_stack cleanup class to facilitate the fix
   (Hui Su)

 - Fix clock_getres() system call's handling of NULL output
   pointer in the !CONFIG_POSIX_TIMERS case (Hungyu Lin)

 - Fix get_cpu_itimer() to return TICK_NSEC when the sampled CPU time
   is exactly equal to the nonzero expiry (Hungyu Lin)

 - Fix do_timens_ktime_to_host() time offset subtraction underflow
   check (Hungyu Lin)

 - Report zero remaining time for disarmed SIGEV_NONE posix timers,
   and add a self-test to detect this bug in the future (Hung-Jui Lin)

 - Fix NOHZ 'full kick' handling bug that can cause missed
   tick updates (Peng Wang)

 - Fix field access bug in the vdso/gettimeofday code that works
   only by accident (Thomas Weißschuh)

 - Fix & prevent immediate clocksource watchdog rerun after a delay
   (Karl Mehltretter)

* tag 'timers-urgent-2026-11-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource: Prevent immediate watchdog rerun after a delay
  vdso/gettimeofday: Correct the read of tz_minuteswest and tz_dsttime
  tick/nohz: Reevaluate the tick for kicks flushed outside hardirq
  selftests: timers: Add a test for disarmed SIGEV_NONE timers
  posix-timers: Report zero remaining time for disarmed SIGEV_NONE timers
  time/namespace: Fix overflow when converting absolute deadlines
  timers/itimer: Keep a nonzero value at CPU timer expiry
  posix-timers: Accept NULL clock_getres() output in stubs
  sched/idle: Use hrtimer cleanup class in play_idle_precise()
  hrtimer: Add cleanup class for on-stack timers
2026-11-01 09:19:12 -08:00
..
.kunitconfig time/kunit: Add .kunitconfig 2026-02-24 08:41:51 +01:00
alarmtimer.c alarmtimer: Remove stale return description from alarm_handle_timer() 2026-05-06 08:33:08 +02:00
clockevents.c tick/broadcast: Plug clockevents replacement race 2026-09-07 11:10:20 +02:00
clocksource-wdtest.c clocksource: Rewrite watchdog code completely 2026-03-20 13:36:32 +01:00
clocksource.c clocksource: Prevent immediate watchdog rerun after a delay 2026-10-27 21:26:16 +01:00
hrtimer.c Misc timer fixes: 2026-11-01 09:19:12 -08:00
itimer.c timers/itimer: Keep a nonzero value at CPU timer expiry 2026-10-25 22:43:19 +01:00
jiffies.c Modules changes for 7.4-rc1 2026-10-23 09:32:44 -10:00
Kconfig nohz: Replace dead select with choice default 2026-08-11 15:37:23 +02:00
Makefile timens: Remove dependency on the vDSO 2026-03-26 15:44:23 +01:00
namespace_internal.h timens: Remove dependency on the vDSO 2026-03-26 15:44:23 +01:00
namespace_vdso.c vdso/datastore: Explicitly prevent remote access to timens vvar page 2026-07-07 23:52:52 +02:00
namespace.c time/namespace: Fix overflow when converting absolute deadlines 2026-10-25 22:43:19 +01:00
ntp_internal.h timekeeping: Drive time_offset skew via per-tick ntp_error transfer 2026-07-10 09:20:54 +02:00
ntp.c ntp: Remove tick_length_base, use tick_length directly 2026-07-10 09:20:55 +02:00
posix-clock.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
posix-cpu-timers.c Timer subsystem fixes: 2026-10-25 17:54:02 -10:00
posix-stubs.c posix-timers: Accept NULL clock_getres() output in stubs 2026-10-25 22:43:19 +01:00
posix-timers.c Misc timer fixes: 2026-11-01 09:19:12 -08:00
posix-timers.h posix-timers: Handle exit in do_exit() completely 2026-09-16 18:44:04 +02:00
sched_clock.c time/sched_clock: Use ACCESS_PRIVATE() to evaluate hrtimer::function 2026-01-13 18:08:57 +01:00
sleep_timeout.c timers: Use accessor for hrtimer_sleeper ->task field in sleep_timeout.c 2026-09-29 21:02:52 +02:00
test_udelay.c
tick-broadcast-hrtimer.c clockevents: Remove redundant CLOCK_EVT_FEAT_KTIME 2026-02-27 16:40:06 +01:00
tick-broadcast.c tick/broadcast: Plug clockevents replacement race 2026-09-07 11:10:20 +02:00
tick-common.c clockevents: Prevent timer interrupt starvation 2026-04-10 22:45:38 +02:00
tick-internal.h tick/broadcast: Plug clockevents replacement race 2026-09-07 11:10:20 +02:00
tick-legacy.c
tick-oneshot.c treewide: Update email address 2026-01-11 06:09:11 -10:00
tick-sched.c Misc timer fixes: 2026-11-01 09:19:12 -08:00
tick-sched.h tick/sched: Remove unused fields 2026-06-02 21:27:25 +02:00
time_test.c time/kunit: Add time64_to_tm() case beyond 32-bit day count 2026-09-29 21:18:42 +02:00
time.c VDSO updates: 2026-08-18 16:56:25 -07:00
timeconst.bc
timeconv.c time: Prevent time64_to_tm() day truncation on 32-bit 2026-09-29 21:18:42 +02:00
timecounter.c time/timecounter: Inline timecounter_cyc2time() 2025-12-15 20:16:49 +01:00
timekeeping_debug.c timekeeping: Add percpu counter for tracking floor swap events 2024-10-10 10:20:46 +02:00
timekeeping_internal.h timekeeping: Move the vDSO update declarations into a private header 2026-07-07 23:48:08 +02:00
timekeeping.c Timer subsystem fixes: 2026-10-25 17:54:02 -10:00
timekeeping.h timekeeping: Use u32 for clock_was_set_seq 2026-08-11 18:11:20 +02:00
timer_list.c timer_list: Use ktime_t over nanoseconds 2026-08-11 18:11:20 +02:00
timer_migration.c timers/migration: Mark racy updates to tmigr_event::ignore field 2026-09-29 21:07:15 +02:00
timer_migration.h timers/migration: Fix bad line kernel-doc warning in struct tmigr_cpu 2026-07-20 16:07:39 +02:00
timer.c Timer subsystem fixes: 2026-10-25 17:54:02 -10:00
vsyscall.c vdso/vsyscall: Keep the CLOCK_AUX base scaled 2026-10-15 17:33:20 +02:00