====================================================== WARNING: possible circular locking dependency detected sctp: [Deprecated]: syz-executor5 (pid 25473) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead 4.13.0-rc6+ #33 Not tainted ------------------------------------------------------ syz-executor2/25472 is trying to acquire lock: (sk_lock-AF_KCM){+.+.+.}, at: [] lock_sock include/net/sock.h:1459 [inline] (sk_lock-AF_KCM){+.+.+.}, at: [] kcm_sendpage+0x16e/0x1880 net/kcm/kcmsock.c:774 sctp: [Deprecated]: syz-executor0 (pid 25492) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead but task is already holding lock: (k-sk_lock-AF_KCM){+.+.+.}, at: [] lock_sock include/net/sock.h:1459 [inline] (k-sk_lock-AF_KCM){+.+.+.}, at: [] kcm_sendmsg+0x1ec/0x2200 net/kcm/kcmsock.c:910 sctp: [Deprecated]: syz-executor5 (pid 25479) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead sctp: [Deprecated]: syz-executor0 (pid 25501) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (k-sk_lock-AF_KCM){+.+.+.}: lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:3855 lock_sock_nested+0xc2/0x110 net/core/sock.c:2762 lock_sock include/net/sock.h:1459 [inline] kcm_sendpage+0x16e/0x1880 net/kcm/kcmsock.c:774 kernel_sendpage+0x8d/0xe0 net/socket.c:3387 kcm_write_msgs+0x404/0x1b80 net/kcm/kcmsock.c:646 kcm_sendmsg+0x1446/0x2200 net/kcm/kcmsock.c:1035 sock_sendmsg_nosec net/socket.c:633 [inline] sock_sendmsg+0xca/0x110 net/socket.c:643 sctp: [Deprecated]: syz-executor0 (pid 25516) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead sctp: [Deprecated]: syz-executor5 (pid 25520) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead sock_write_iter+0x31a/0x5d0 net/socket.c:912 call_write_iter include/linux/fs.h:1743 [inline] new_sync_write fs/read_write.c:457 [inline] __vfs_write+0x684/0x970 fs/read_write.c:470 vfs_write+0x189/0x510 fs/read_write.c:518 SYSC_write fs/read_write.c:565 [inline] SyS_write+0xef/0x220 fs/read_write.c:557 entry_SYSCALL_64_fastpath+0x1f/0xbe -> #0 (sk_lock-AF_KCM){+.+.+.}: check_prev_add kernel/locking/lockdep.c:1844 [inline] check_prevs_add kernel/locking/lockdep.c:1954 [inline] validate_chain kernel/locking/lockdep.c:2281 [inline] __lock_acquire+0x2f2c/0x3dc0 kernel/locking/lockdep.c:3367 lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:3855 sctp: [Deprecated]: syz-executor0 (pid 25530) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead lock_sock_nested+0xc2/0x110 net/core/sock.c:2762 lock_sock include/net/sock.h:1459 [inline] kcm_sendpage+0x16e/0x1880 net/kcm/kcmsock.c:774 kernel_sendpage+0x8d/0xe0 net/socket.c:3387 kcm_write_msgs+0x404/0x1b80 net/kcm/kcmsock.c:646 kcm_sendmsg+0x1446/0x2200 net/kcm/kcmsock.c:1035 sock_sendmsg_nosec net/socket.c:633 [inline] sock_sendmsg+0xca/0x110 net/socket.c:643 sctp: [Deprecated]: syz-executor5 (pid 25520) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead ___sys_sendmsg+0x31c/0x890 net/socket.c:2049 __sys_sendmmsg+0x1e6/0x5f0 net/socket.c:2139 SYSC_sendmmsg net/socket.c:2170 [inline] SyS_sendmmsg+0x35/0x60 net/socket.c:2165 entry_SYSCALL_64_fastpath+0x1f/0xbe other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(k-sk_lock-AF_KCM); lock(sk_lock-AF_KCM); lock(k-sk_lock-AF_KCM); lock(sk_lock-AF_KCM); *** DEADLOCK *** 1 lock held by syz-executor2/25472: #0: (k-sk_lock-AF_KCM){+.+.+.}, at: [] lock_sock include/net/sock.h:1459 [inline] #0: (k-sk_lock-AF_KCM){+.+.+.}, at: [] kcm_sendmsg+0x1ec/0x2200 net/kcm/kcmsock.c:910 stack backtrace: CPU: 0 PID: 25472 Comm: syz-executor2 Not tainted 4.13.0-rc6+ #33 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:16 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:52 print_circular_bug+0x358/0x400 kernel/locking/lockdep.c:1218 check_prev_add kernel/locking/lockdep.c:1844 [inline] check_prevs_add kernel/locking/lockdep.c:1954 [inline] validate_chain kernel/locking/lockdep.c:2281 [inline] __lock_acquire+0x2f2c/0x3dc0 kernel/locking/lockdep.c:3367 lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:3855 lock_sock_nested+0xc2/0x110 net/core/sock.c:2762 lock_sock include/net/sock.h:1459 [inline] kcm_sendpage+0x16e/0x1880 net/kcm/kcmsock.c:774 kernel_sendpage+0x8d/0xe0 net/socket.c:3387 kcm_write_msgs+0x404/0x1b80 net/kcm/kcmsock.c:646 kcm_sendmsg+0x1446/0x2200 net/kcm/kcmsock.c:1035 sock_sendmsg_nosec net/socket.c:633 [inline] sock_sendmsg+0xca/0x110 net/socket.c:643 ___sys_sendmsg+0x31c/0x890 net/socket.c:2049 __sys_sendmmsg+0x1e6/0x5f0 net/socket.c:2139 SYSC_sendmmsg net/socket.c:2170 [inline] SyS_sendmmsg+0x35/0x60 net/socket.c:2165 entry_SYSCALL_64_fastpath+0x1f/0xbe RIP: 0033:0x451e59 RSP: 002b:00007f5b2ae0fc08 EFLAGS: 00000216 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 0000000000718000 RCX: 0000000000451e59 RDX: 0000000000000001 RSI: 0000000020244000 RDI: 0000000000000018 RBP: 0000000000000086 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000020008040 R11: 0000000000000216 R12: 00000000004bbe83 R13: 00000000ffffffff R14: 0000000000000017 R15: 0000000000000028