====================================================== WARNING: possible circular locking dependency detected 4.14.106+ #30 Not tainted ------------------------------------------------------ syz-executor.2/23198 is trying to acquire lock: (&sig->cred_guard_mutex){+.+.}, at: [] proc_pid_attr_write+0x152/0x280 fs/proc/base.c:2586 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.2/23198: #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: 0 PID: 23198 Comm: syz-executor.2 Not tainted 4.14.106+ #30 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 netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. audit: type=1400 audit(2000000399.270:17962): avc: denied { relabelto } for pid=23360 comm="syz-executor.5" name="NETLINK" dev="sockfs" ino=113697 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=system_u:object_r:locale_t:s0 tclass=netlink_route_socket permissive=1 netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. ip6_tunnel: ip6tnl1 xmit: Local address not yet configured! netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 2 bytes leftover after parsing attributes in process `syz-executor.5'.