linux/kernel/time
Thomas Gleixner 4febce44cf posix-timers: Cure si_sys_private race
The si_sys_private member of the siginfo which is embedded in the
preallocated sigqueue is used by the posix timer code to decide whether a
timer must be reprogrammed on signal delivery.

The handling of this is racy as a long standing comment in that code
documents. It is modified with the timer lock held, but without sighand
lock being held. The actual signal delivery code checks for it under
sighand lock without holding the timer lock.

Hand the new value to send_sigqueue() as argument and store it with sighand
lock held. This is an intermediate change to address this issue.

The arguments to this function will be cleanup in subsequent changes.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/all/20241001083835.434338954@linutronix.de
2024-10-29 11:43:18 +01:00
..
alarmtimer.c treewide: Fix wrong singular form of jiffies in comments 2024-09-08 20:47:40 +02:00
clockevents.c treewide: Fix wrong singular form of jiffies in comments 2024-09-08 20:47:40 +02:00
clocksource-wdtest.c time: Add MODULE_DESCRIPTION() to time test modules 2024-06-03 11:18:50 +02:00
clocksource.c clocksource: Remove unused clocksource_change_rating 2024-10-10 21:03:10 +02:00
hrtimer.c timers: Move *sleep*() and timeout functions into a separate file 2024-10-16 00:36:46 +02:00
itimer.c signal: Confine POSIX_TIMERS properly 2024-10-29 11:43:18 +01:00
jiffies.c
Kconfig clocksource: Make the int help prompt unit readable in ncurses 2024-04-30 00:12:22 +02:00
Makefile timers: Move *sleep*() and timeout functions into a separate file 2024-10-16 00:36:46 +02:00
namespace.c vdso/timens: Refactor copy-pasted find_timens_vvar_page() helper into one copy 2022-12-01 11:35:40 +01:00
ntp_internal.h ntp: Make sure RTC is synchronized when time goes backwards 2024-09-10 13:50:40 +02:00
ntp.c ntp: Move pps monitors into ntp_data 2024-10-02 16:53:41 +02:00
posix-clock.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
posix-cpu-timers.c posix-timers: Consolidate signal queueing 2024-07-29 21:57:35 +02:00
posix-stubs.c posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
posix-timers.c posix-timers: Cure si_sys_private race 2024-10-29 11:43:18 +01:00
posix-timers.h posix-timers: Consolidate signal queueing 2024-07-29 21:57:35 +02:00
sched_clock.c time/sched_clock: Provide sched_clock_noinstr() 2023-06-05 21:11:04 +02:00
sleep_timeout.c timers: Add a warning to usleep_range_state() for wrong order of arguments 2024-10-16 00:36:47 +02:00
test_udelay.c time: Add MODULE_DESCRIPTION() to time test modules 2024-06-03 11:18:50 +02:00
tick-broadcast-hrtimer.c time/tick-broadcast: Remove RCU_NONIDLE() usage 2023-01-13 11:48:16 +01:00
tick-broadcast.c tick/broadcast: Move per CPU pointer access into the atomic section 2024-07-31 12:37:43 +02:00
tick-common.c tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device() 2024-06-10 20:18:13 +02:00
tick-internal.h tick: Move broadcast cancellation up to CPUHP_AP_TICK_DYING 2024-02-26 11:37:32 +01:00
tick-legacy.c
tick-oneshot.c time: Fix various kernel-doc problems 2023-01-03 11:07:58 +01:00
tick-sched.c tick/sched: Combine WARN_ON_ONCE and print_once 2024-07-03 21:32:55 +02:00
tick-sched.h tick/sched: Fix struct tick_sched doc warnings 2024-04-01 10:36:35 +02:00
time_test.c time: Add MODULE_DESCRIPTION() to time test modules 2024-06-03 11:18:50 +02:00
time.c time: Fix references to _msecs_to_jiffies() handling of values 2024-10-25 19:50:10 +02:00
timeconst.bc
timeconv.c
timecounter.c
timekeeping_debug.c timekeeping: Add percpu counter for tracking floor swap events 2024-10-06 20:56:07 +02:00
timekeeping_internal.h timekeeping: Encapsulate locking/unlocking of timekeeper_lock 2024-10-25 19:49:13 +02:00
timekeeping.c timekeeping: Merge timekeeping_update_staged() and timekeeping_update() 2024-10-25 19:49:16 +02:00
timekeeping.h
timer_list.c tick: Split nohz and highres features from nohz_mode 2024-02-26 11:37:32 +01:00
timer_migration.c timers/migration: Fix grammar in comment 2024-07-22 18:03:34 +02:00
timer_migration.h timers/migration: Rename childmask by groupmask to make naming more obvious 2024-07-22 18:03:34 +02:00
timer.c timers: Move *sleep*() and timeout functions into a separate file 2024-10-16 00:36:46 +02:00
vsyscall.c timekeeping: Encapsulate locking/unlocking of timekeeper_lock 2024-10-25 19:49:13 +02:00