posix-cpu-timers: Assert task sighand is locked while starting cputime counter
authorFrederic Weisbecker <frederic@kernel.org>
Mon, 26 Jul 2021 12:55:08 +0000 (14:55 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 10 Aug 2021 15:09:58 +0000 (17:09 +0200)
commita5dec9f82ab2ae486119f0b0820ea16db3e522c3
tree6ba9fc20e0122ca3b6deb481e0e2bc6942cd8a17
parent1dae37c7e41d9a75a615ba7b0480acc2e04094d4
posix-cpu-timers: Assert task sighand is locked while starting cputime counter

Starting the process wide cputime counter needs to be done in the same
sighand locking sequence than actually arming the related timer otherwise
this races against concurrent timers setting/expiring in the same
threadgroup.

Detecting that the cputime counter is started without holding the sighand
lock is a first step toward debugging such situations.

Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210726125513.271824-2-frederic@kernel.org
include/linux/sched/signal.h
kernel/signal.c
kernel/time/posix-cpu-timers.c