Hi Kees, Here is a recursive lock possibility: ptrace_may_access() => task_lock(task); yama_ptrace_access_check() get_task_comm() => task_lock(task); [ 60.230444] ============================================= [ 60.232078] [ INFO: possible recursive locking detected ] [ 60.232078] 3.5.0+ #281 Not tainted [ 60.232078] --------------------------------------------- [ 60.232078] trinity-child0/17019 is trying to acquire lock: [ 60.232078] (&(&p->alloc_lock)->rlock){+.+...}, at: [] get_task_comm+0x4a/0xf0 [ 60.232078] [ 60.232078] but task is already holding lock: [ 60.232078] (&(&p->alloc_lock)->rlock){+.+...}, at: [] ptrace_may_access+0x4a/0xf0 [ 60.232078] [ 60.232078] other info that might help us debug this: [ 60.232078] Possible unsafe locking scenario: [ 60.232078] [ 60.232078] CPU0 [ 60.232078] ---- [ 60.232078] lock(&(&p->alloc_lock)->rlock); [ 60.232078] lock(&(&p->alloc_lock)->rlock); [ 60.232078] [ 60.232078] *** DEADLOCK *** [ 60.232078] [ 60.232078] May be due to missing lock nesting notation [ 60.232078] [ 60.232078] 3 locks held by trinity-child0/17019: [ 60.232078] #0: (&p->lock){+.+.+.}, at: [] seq_read+0x33/0x6b0 [ 60.232078] #1: (&sig->cred_guard_mutex){+.+.+.}, at: [] lock_trace+0x2e/0xb0 [ 60.232078] #2: (&(&p->alloc_lock)->rlock){+.+...}, at: [] ptrace_may_access+0x4a/0xf0 [ 60.232078] [ 60.232078] stack backtrace: [ 60.232078] Pid: 17019, comm: trinity-child0 Not tainted 3.5.0+ #281 [ 60.232078] Call Trace: [ 60.232078] [] __lock_acquire+0x1498/0x14f0 [ 60.232078] [] ? trace_hardirqs_off+0x27/0x40 [ 60.232078] [] lock_acquire+0xd0/0x110 [ 60.232078] [] ? get_task_comm+0x4a/0xf0 [ 60.232078] [] _raw_spin_lock+0x60/0x110 [ 60.232078] [] ? get_task_comm+0x4a/0xf0 [ 60.232078] [] get_task_comm+0x4a/0xf0 [ 60.232078] [] yama_ptrace_access_check+0x468/0x4a0 [ 60.232078] [] ? yama_ptrace_access_check+0x15f/0x4a0 [ 60.232078] [] security_ptrace_access_check+0x1a/0x30 [ 60.232078] [] __ptrace_may_access+0x189/0x310 [ 60.232078] [] ? __ptrace_may_access+0x2c/0x310 [ 60.232078] [] ptrace_may_access+0x7d/0xf0 [ 60.232078] [] lock_trace+0x6a/0xb0 [ 60.232078] [] proc_pid_stack+0x76/0x170 [ 60.232078] [] proc_single_show+0x74/0x100 [ 60.232078] [] seq_read+0x163/0x6b0 [ 60.232078] [] ? do_setitimer+0x220/0x330 [ 60.232078] [] ? seq_lseek+0x1f0/0x1f0 [ 60.232078] [] vfs_read+0xca/0x280 [ 60.232078] [] ? seq_lseek+0x1f0/0x1f0 [ 60.232078] [] sys_read+0x66/0xe0 [ 60.232078] [] syscall_call+0x7/0xb [ 60.232078] [] ? __schedule+0x2a0/0xc80 Thanks, Fengguang