====================================================== WARNING: possible circular locking dependency detected 4.14.0-rc1+ #60 Not tainted ------------------------------------------------------ kworker/u4:13/4345 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 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/0x1fd0 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:13/4345: #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 sctp: [Deprecated]: syz-executor1 (pid 30338) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead #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: 4345 Comm: kworker/u4:13 Not tainted 4.14.0-rc1+ #60 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 nla_parse: 16 callbacks suppressed netlink: 1 bytes leftover after parsing attributes in process `syz-executor7'. netlink: 1 bytes leftover after parsing attributes in process `syz-executor7'. netlink: 1 bytes leftover after parsing attributes in process `syz-executor7'. netlink: 1 bytes leftover after parsing attributes in process `syz-executor7'. RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? RDS: rds_bind could not find a transport for 172.20.7.170, load rds_tcp or rds_rdma? FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 1 CPU: 0 PID: 31036 Comm: syz-executor3 Not tainted 4.14.0-rc1+ #60 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 FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 1 should_failslab+0xec/0x120 mm/failslab.c:31 slab_pre_alloc_hook mm/slab.h:422 [inline] slab_alloc mm/slab.c:3383 [inline] __do_kmalloc mm/slab.c:3723 [inline] __kmalloc+0x63/0x760 mm/slab.c:3734 kmalloc include/linux/slab.h:498 [inline] sock_kmalloc+0x112/0x190 net/core/sock.c:1974 ipv6_sock_mc_join+0x506/0xa80 net/ipv6/mcast.c:158 do_ipv6_setsockopt.isra.12+0x2f11/0x35c0 net/ipv6/ipv6_sockglue.c:636 ipv6_setsockopt+0xd7/0x150 net/ipv6/ipv6_sockglue.c:913 udpv6_setsockopt+0x45/0x80 net/ipv6/udp.c:1452 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2960 SYSC_setsockopt net/socket.c:1852 [inline] SyS_setsockopt+0x189/0x360 net/socket.c:1831 entry_SYSCALL_64_fastpath+0x1f/0xbe RIP: 0033:0x4520a9 RSP: 002b:00007fa6ceb1bc08 EFLAGS: 00000216 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 0000000000718000 RCX: 00000000004520a9 RDX: 0000000000000014 RSI: 0000000000000029 RDI: 0000000000000005 RBP: 00007fa6ceb1ba10 R08: 0000000000000014 R09: 0000000000000000 R10: 0000000020d11000 R11: 0000000000000216 R12: 00000000004b6c37 R13: 00007fa6ceb1bb48 R14: 00000000004b6c47 R15: 0000000000000000 CPU: 1 PID: 31076 Comm: syz-executor4 Not tainted 4.14.0-rc1+ #60 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_node mm/slab.c:3304 [inline] kmem_cache_alloc_node+0x56/0x760 mm/slab.c:3649 __alloc_skb+0xf1/0x740 net/core/skbuff.c:194 alloc_skb include/linux/skbuff.h:977 [inline] alloc_skb_with_frags+0x10d/0x710 net/core/skbuff.c:5142 sock_alloc_send_pskb+0x7b4/0x9d0 net/core/sock.c:2073 sock_alloc_send_skb+0x32/0x40 net/core/sock.c:2090 __ip_append_data.isra.47+0x13a5/0x24a0 net/ipv4/ip_output.c:969 ip_make_skb+0x273/0x300 net/ipv4/ip_output.c:1481 udp_sendmsg+0xb55/0x2cd0 net/ipv4/udp.c:1049 inet_sendmsg+0x11f/0x5e0 net/ipv4/af_inet.c:762 sock_sendmsg_nosec net/socket.c:633 [inline] sock_sendmsg+0xca/0x110 net/socket.c:643 SYSC_sendto+0x358/0x5a0 net/socket.c:1750 SyS_sendto+0x40/0x50 net/socket.c:1718 entry_SYSCALL_64_fastpath+0x1f/0xbe RIP: 0033:0x4520a9 RSP: 002b:00007fa75dbc3c08 EFLAGS: 00000216 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 0000000000718000 RCX: 00000000004520a9 RDX: 0000000000000000 RSI: 0000000020fcffff RDI: 0000000000000005 RBP: 00007fa75dbc3a10 R08: 0000000020fcf000 R09: 0000000000000010 R10: 0000000000000000 R11: 0000000000000216 R12: 00000000004b6c37 R13: 00007fa75dbc3b48 R14: 00000000004b6c47 R15: 0000000000000000 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 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 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 IPv6: ADDRCONF(NETDEV_CHANGE): syz1: link becomes ready sctp: [Deprecated]: syz-executor0 (pid 1197) Use of int in maxseg socket option. Use struct sctp_assoc_value instead sctp: [Deprecated]: syz-executor0 (pid 1236) Use of int in maxseg socket option. Use struct sctp_assoc_value instead IPv6: ADDRCONF(NETDEV_CHANGE): syz4: link becomes ready net_ratelimit: 27 callbacks suppressed 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 0 CPU: 1 PID: 2654 Comm: syz-executor7 Not tainted 4.14.0-rc1+ #60 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 inet_bind_bucket_create+0x7a/0x350 net/ipv4/inet_hashtables.c:69 __inet_hash_connect+0x666/0xea0 net/ipv4/inet_hashtables.c:611