On Fri, Nov 25, 2022 at 02:54:57PM +0100, Frederic Weisbecker wrote: > Pengfei Xu has reported a deadlock involving calls to unshare(), > perf_event_open() and clone3() calls. It requires CAP_SYS_ADMIN > to reproduce (at least I don't see a way for a non privilege process to > reproduce). > > See this thread for details: https://lore.kernel.org/all/Y3sOgrOmMQqPMItu@xxxxxxxxxxxxxxxx/ > And this document for the collaborative analysis with Boqun, Paul and Neeraj: > https://docs.google.com/document/d/1hJxgiZ5TMZ4YJkdJPLAkRvq7sYQ-A7svgA8no6i-v8k > > The two first patches are small improvements. The fix is in the last patch. > > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git > rcu/dev > > HEAD: 45ef5a0a4be4e0db9eadcc86e8f346d34c62e744 Hearing no objections, queued for further review and testing. And thank you very much! That race between synchronize_rcu_tasks() and zap_pid_ns_processes() certainly was more than a bit on the non-trivial side. Good show!!! Thanx, Paul > Thanks, > Frederic > --- > > Frederic Weisbecker (3): > rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose > rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls > rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() > > > include/linux/rcupdate.h | 2 ++ > kernel/pid_namespace.c | 17 +++++++++++++++ > kernel/rcu/tasks.h | 55 ++++++++++++++++++++++++++++++++++++------------ > 3 files changed, 60 insertions(+), 14 deletions(-)