====================================================== WARNING: possible circular locking dependency detected 4.14.103+ #18 Not tainted ------------------------------------------------------ syz-executor.4/22020 is trying to acquire lock: (&sig->cred_guard_mutex){+.+.}, at: [] proc_pid_attr_write+0x152/0x280 fs/proc/base.c:2590 but task is already holding lock: (&pipe->mutex/1){+.+.}, at: [] pipe_lock_nested fs/pipe.c:67 [inline] (&pipe->mutex/1){+.+.}, at: [] pipe_lock+0x58/0x70 fs/pipe.c:75 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&pipe->mutex/1){+.+.}: -> #0 (&sig->cred_guard_mutex){+.+.}: other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&pipe->mutex/1); lock(&sig->cred_guard_mutex); lock(&pipe->mutex/1); lock(&sig->cred_guard_mutex); *** DEADLOCK *** 2 locks held by syz-executor.4/22020: #0: (sb_writers#7){.+.+}, at: [] file_start_write include/linux/fs.h:2726 [inline] #0: (sb_writers#7){.+.+}, at: [] do_splice fs/splice.c:1146 [inline] #0: (sb_writers#7){.+.+}, at: [] SYSC_splice fs/splice.c:1402 [inline] #0: (sb_writers#7){.+.+}, at: [] SyS_splice+0xec1/0x12d0 fs/splice.c:1382 #1: (&pipe->mutex/1){+.+.}, at: [] pipe_lock_nested fs/pipe.c:67 [inline] #1: (&pipe->mutex/1){+.+.}, at: [] pipe_lock+0x58/0x70 fs/pipe.c:75 stack backtrace: CPU: 1 PID: 22020 Comm: syz-executor.4 Not tainted 4.14.103+ #18 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0xb9/0x10e lib/dump_stack.c:53 print_circular_bug.isra.0.cold+0x2dc/0x425 kernel/locking/lockdep.c:1258 uinput: write device info first input: syz0 as /devices/virtual/input/input139 uinput: write device info first uinput: write device info first input: syz0 as /devices/virtual/input/input141 input: syz0 as /devices/virtual/input/input142 ip6_tunnel: ip6tnl1 xmit: Local address not yet configured! input: syz0 as /devices/virtual/input/input143 SELinux: failed to load policy SELinux: failed to load policy SELinux: failed to load policy uinput: write device info first binder: 22267:22274 Release 1 refcount change on invalid ref 0 ret -22 SELinux: failed to load policy binder: 22267:22278 Release 1 refcount change on invalid ref 0 ret -22 input: syz0 as /devices/virtual/input/input145 SELinux: failed to load policy binder: 22299:22308 transaction failed 29189/-22, size 137439009544-0 line 3012 SELinux: failed to load policy binder: 22299:22302 transaction failed 29189/-22, size 137439009544-0 line 3012 binder: undelivered TRANSACTION_ERROR: 29189 binder: undelivered TRANSACTION_ERROR: 29189 input: syz0 as /devices/virtual/input/input146 SELinux: failed to load policy input: syz0 as /devices/virtual/input/input147 binder: 22347:22363 transaction failed 29189/-22, size 137439009544-0 line 3012 binder: undelivered TRANSACTION_ERROR: 29189