signal: Don't disable preemption in ptrace_stop() on PREEMPT_RT
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Thu, 3 Aug 2023 10:09:32 +0000 (12:09 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 19 Sep 2023 20:08:29 +0000 (22:08 +0200)
commit1aabbc532413ced293952f8e149ad0a607d6e470
tree0228090cc9cef5ca2f08a36fc0f4fc2c9fd9f8fa
parenta20d6f63dbfc176697886d7709312ad0a795648e
signal: Don't disable preemption in ptrace_stop() on PREEMPT_RT

On PREEMPT_RT keeping preemption disabled during the invocation of
cgroup_enter_frozen() is a problem because the function acquires
css_set_lock which is a sleeping lock on PREEMPT_RT and must not be
acquired with disabled preemption.

The preempt-disabled section is only for performance optimisation reasons
and can be avoided.

Extend the comment and don't disable preemption before scheduling on
PREEMPT_RT.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Link: https://lore.kernel.org/r/20230803100932.325870-3-bigeasy@linutronix.de
kernel/signal.c