====================================================== WARNING: possible circular locking dependency detected 4.14.0-rc1+ #64 Not tainted ------------------------------------------------------ kworker/u4:9/3560 is trying to acquire lock: ((&(&cp->cp_send_w)->work)){+.+.}, at: [] flush_work+0x99/0x8f0 kernel/workqueue.c:2883 but task is already holding lock: (k-sk_lock-AF_INET){+.+.}, at: [] lock_sock include/net/sock.h:1459 [inline] (k-sk_lock-AF_INET){+.+.}, at: [] rds_tcp_reset_callbacks+0x1dc/0x580 net/rds/tcp.c:165 sctp: [Deprecated]: syz-executor5 (pid 26551) 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_INET){+.+.}: check_prevs_add kernel/locking/lockdep.c:2020 [inline] validate_chain kernel/locking/lockdep.c:2469 [inline] __lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498 lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002 lock_sock_nested+0xc2/0x110 net/core/sock.c:2762 lock_sock include/net/sock.h:1459 [inline] do_tcp_setsockopt.isra.35+0x142/0x1fe0 net/ipv4/tcp.c:2532 tcp_setsockopt+0xb0/0xd0 net/ipv4/tcp.c:2801 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2960 kernel_setsockopt+0x100/0x1c0 net/socket.c:3376 rds_tcp_cork net/rds/tcp_send.c:43 [inline] rds_tcp_xmit_path_prepare+0xe9/0x140 net/rds/tcp_send.c:50 rds_send_xmit+0x355/0x22d0 net/rds/send.c:187 rds_send_worker+0x115/0x2a0 net/rds/threads.c:189 process_one_work+0xbfa/0x1bd0 kernel/workqueue.c:2119 worker_thread+0x223/0x1860 kernel/workqueue.c:2253 kthread+0x39c/0x470 kernel/kthread.c:231 ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431 -> #0 ((&(&cp->cp_send_w)->work)){+.+.}: check_prev_add+0x865/0x1520 kernel/locking/lockdep.c:1894 check_prevs_add kernel/locking/lockdep.c:2020 [inline] validate_chain kernel/locking/lockdep.c:2469 [inline] __lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498 lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002 flush_work+0xcc/0x8f0 kernel/workqueue.c:2886 __cancel_work_timer+0x30a/0x7e0 kernel/workqueue.c:2961 cancel_delayed_work_sync+0x1a/0x20 kernel/workqueue.c:3081 rds_tcp_reset_callbacks+0x1e8/0x580 net/rds/tcp.c:167 rds_tcp_accept_one+0x881/0xd70 net/rds/tcp_listen.c:186 rds_tcp_accept_worker+0x57/0x80 net/rds/tcp.c:406 process_one_work+0xbfa/0x1bd0 kernel/workqueue.c:2119 worker_thread+0x223/0x1860 kernel/workqueue.c:2253 kthread+0x39c/0x470 kernel/kthread.c:231 ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(k-sk_lock-AF_INET); lock((&(&cp->cp_send_w)->work)); lock(k-sk_lock-AF_INET); lock((&(&cp->cp_send_w)->work)); *** DEADLOCK *** 4 locks held by kworker/u4:9/3560: #0: ("%s""krdsd"){+.+.}, at: [] __write_once_size include/linux/compiler.h:305 [inline] #0: ("%s""krdsd"){+.+.}, at: [] atomic64_set arch/x86/include/asm/atomic64_64.h:33 [inline] #0: ("%s""krdsd"){+.+.}, at: [] atomic_long_set include/asm-generic/atomic-long.h:56 [inline] #0: ("%s""krdsd"){+.+.}, at: [] set_work_data kernel/workqueue.c:617 [inline] #0: ("%s""krdsd"){+.+.}, at: [] set_work_pool_and_clear_pending kernel/workqueue.c:644 [inline] #0: ("%s""krdsd"){+.+.}, at: [] process_one_work+0xad4/0x1bd0 kernel/workqueue.c:2090 #1: ((&rtn->rds_tcp_accept_w)){+.+.}, at: [] process_one_work+0xb2c/0x1bd0 kernel/workqueue.c:2094 #2: (&tc->t_conn_path_lock){+.+.}, at: [] rds_tcp_accept_one+0x739/0xd70 net/rds/tcp_listen.c:178 #3: (k-sk_lock-AF_INET){+.+.}, at: [] lock_sock include/net/sock.h:1459 [inline] #3: (k-sk_lock-AF_INET){+.+.}, at: [] rds_tcp_reset_callbacks+0x1dc/0x580 net/rds/tcp.c:165 stack backtrace: CPU: 1 PID: 3560 Comm: kworker/u4:9 Not tainted 4.14.0-rc1+ #64 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: krdsd rds_tcp_accept_worker Call Trace: __dump_stack lib/dump_stack.c:16 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:52 print_circular_bug+0x503/0x710 kernel/locking/lockdep.c:1259 check_prev_add+0x865/0x1520 kernel/locking/lockdep.c:1894 check_prevs_add kernel/locking/lockdep.c:2020 [inline] validate_chain kernel/locking/lockdep.c:2469 [inline] __lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498 lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002 flush_work+0xcc/0x8f0 kernel/workqueue.c:2886 __cancel_work_timer+0x30a/0x7e0 kernel/workqueue.c:2961 cancel_delayed_work_sync+0x1a/0x20 kernel/workqueue.c:3081 rds_tcp_reset_callbacks+0x1e8/0x580 net/rds/tcp.c:167 rds_tcp_accept_one+0x881/0xd70 net/rds/tcp_listen.c:186 rds_tcp_accept_worker+0x57/0x80 net/rds/tcp.c:406 process_one_work+0xbfa/0x1bd0 kernel/workqueue.c:2119 worker_thread+0x223/0x1860 kernel/workqueue.c:2253 kthread+0x39c/0x470 kernel/kthread.c:231 ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431 Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 1 CPU: 1 PID: 29921 Comm: syz-executor6 Not tainted 4.14.0-rc1+ #64 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 fail_dump lib/fault-inject.c:51 [inline] should_fail+0x8c0/0xa40 lib/fault-inject.c:149 should_failslab+0xec/0x120 mm/failslab.c:31 slab_pre_alloc_hook mm/slab.h:422 [inline] slab_alloc mm/slab.c:3383 [inline] kmem_cache_alloc+0x47/0x760 mm/slab.c:3559 fasync_alloc fs/fcntl.c:885 [inline] fasync_add_entry fs/fcntl.c:943 [inline] fasync_helper+0x37/0xb0 fs/fcntl.c:972 sock_fasync+0xd1/0x1f0 net/socket.c:1152 ioctl_fioasync fs/ioctl.c:540 [inline] do_vfs_ioctl+0x304/0x1530 fs/ioctl.c:645 SYSC_ioctl fs/ioctl.c:700 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:691 entry_SYSCALL_64_fastpath+0x1f/0xbe RIP: 0033:0x4520a9 RSP: 002b:00007fc480971c08 EFLAGS: 00000216 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000718000 RCX: 00000000004520a9 RDX: 0000000020d2cff8 RSI: 0000000000005452 RDI: 0000000000000005 RBP: 00007fc480971a10 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000216 R12: 00000000004b6c37 R13: 00007fc480971b48 R14: 00000000004b6c47 R15: 0000000000000000