============================================ WARNING: possible recursive locking detected 6.11.0-syzkaller-05442-g932d2d1fcb2b #0 Not tainted -------------------------------------------- syz.1.1462/7757 is trying to acquire lock: ffff00001d7c0dd8 (k-slock-AF_INET){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff00001d7c0dd8 (k-slock-AF_INET){+.-.}-{2:2}, at: sk_clone_lock+0x2d4/0xe44 net/core/sock.c:2396 but task is already holding lock: ffff0000185634d8 (k-slock-AF_INET){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff0000185634d8 (k-slock-AF_INET){+.-.}-{2:2}, at: sk_clone_lock+0x2d4/0xe44 net/core/sock.c:2396 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(k-slock-AF_INET); lock(k-slock-AF_INET); *** DEADLOCK *** May be due to missing lock nesting notation 7 locks held by syz.1.1462/7757: #0: ffff00001d7c1a58 (sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1609 [inline] #0: ffff00001d7c1a58 (sk_lock-AF_INET){+.+.}-{0:0}, at: inet_stream_connect+0x4c/0xb4 net/ipv4/af_inet.c:749 #1: ffff000016c69bd8 (k-sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1609 [inline] #1: ffff000016c69bd8 (k-sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_connect+0x394/0x8cc net/mptcp/protocol.c:3760 #2: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: read_pnet include/net/net_namespace.h:383 [inline] #2: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: sock_net include/net/sock.h:655 [inline] #2: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4c/0x195c net/ipv4/ip_output.c:461 #3: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: lwtunnel_xmit_redirect include/net/lwtunnel.h:98 [inline] #3: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x3ac/0x215c net/ipv4/ip_output.c:222 #4: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: local_lock_release include/linux/local_lock_internal.h:37 [inline] #4: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x33c/0x1574 net/core/dev.c:6105 #5: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: __skb_pull include/linux/skbuff.h:2768 [inline] #5: ffff800086db4e60 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1a0/0x458 net/ipv4/ip_input.c:230 #6: ffff0000185634d8 (k-slock-AF_INET){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] #6: ffff0000185634d8 (k-slock-AF_INET){+.-.}-{2:2}, at: sk_clone_lock+0x2d4/0xe44 net/core/sock.c:2396 stack backtrace: CPU: 0 UID: 0 PID: 7757 Comm: syz.1.1462 Not tainted 6.11.0-syzkaller-05442-g932d2d1fcb2b #0 Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0x9c/0x11c arch/arm64/kernel/stacktrace.c:319 show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:326 __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0xa4/0xf4 lib/dump_stack.c:119 dump_stack+0x1c/0x28 lib/dump_stack.c:128 print_deadlock_bug+0x388/0x650 kernel/locking/lockdep.c:3034 check_deadlock kernel/locking/lockdep.c:3086 [inline] validate_chain kernel/locking/lockdep.c:3888 [inline] __lock_acquire+0x2734/0x64b4 kernel/locking/lockdep.c:5199 lock_acquire kernel/locking/lockdep.c:5822 [inline] lock_acquire+0x48c/0x7a4 kernel/locking/lockdep.c:5787 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x48/0x60 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] sk_clone_lock+0x2d4/0xe44 net/core/sock.c:2396 mptcp_sk_clone_init+0x2c/0x12a0 net/mptcp/protocol.c:3279 subflow_syn_recv_sock+0x7bc/0x1154 net/mptcp/subflow.c:878 tcp_check_req+0x350/0x1940 net/ipv4/tcp_minisocks.c:858 tcp_v4_rcv+0x11b4/0x32d8 net/ipv4/tcp_ipv4.c:2271 ip_protocol_deliver_rcu+0xb8/0x3f4 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x258/0x458 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ip_local_deliver+0x16c/0x3a4 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:460 [inline] ip_rcv_finish+0x140/0x224 net/ipv4/ip_input.c:449 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ip_rcv+0xc0/0x2c8 net/ipv4/ip_input.c:569 __netif_receive_skb_one_core+0xf4/0x168 net/core/dev.c:5662 __netif_receive_skb+0x24/0x14c net/core/dev.c:5775 process_backlog+0x380/0x1574 net/core/dev.c:6107 __napi_poll.constprop.0+0x98/0x5e8 net/core/dev.c:6771 napi_poll net/core/dev.c:6840 [inline] net_rx_action+0x804/0xb80 net/core/dev.c:6962 handle_softirqs+0x2e8/0xd44 kernel/softirq.c:554 __do_softirq+0x14/0x20 kernel/softirq.c:588 ____do_softirq+0x10/0x1c arch/arm64/kernel/irq.c:81 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:889 do_softirq_own_stack+0x1c/0x2c arch/arm64/kernel/irq.c:86 do_softirq kernel/softirq.c:455 [inline] do_softirq+0x12c/0x150 kernel/softirq.c:442 __local_bh_enable_ip+0x40c/0x49c kernel/softirq.c:382 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:919 [inline] __dev_queue_xmit+0x6b0/0x3308 net/core/dev.c:4451 dev_queue_xmit include/linux/netdevice.h:3094 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip_finish_output2+0xac0/0x215c net/ipv4/ip_output.c:236 __ip_finish_output net/ipv4/ip_output.c:314 [inline] __ip_finish_output+0x2bc/0x4e0 net/ipv4/ip_output.c:296 ip_finish_output+0x34/0x27c net/ipv4/ip_output.c:324 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip_output+0x144/0x400 net/ipv4/ip_output.c:434 dst_output include/net/dst.h:450 [inline] ip_local_out net/ipv4/ip_output.c:130 [inline] __ip_queue_xmit+0x804/0x195c net/ipv4/ip_output.c:536 ip_queue_xmit+0x44/0x64 net/ipv4/ip_output.c:550 __tcp_transmit_skb+0x13bc/0x36e8 net/ipv4/tcp_output.c:1466 __tcp_send_ack.part.0+0x300/0x624 net/ipv4/tcp_output.c:4271 __tcp_send_ack net/ipv4/tcp_output.c:4277 [inline] tcp_send_ack+0x78/0x98 net/ipv4/tcp_output.c:4277 tcp_rcv_synsent_state_process net/ipv4/tcp_input.c:6549 [inline] tcp_rcv_state_process+0x2f1c/0x4558 net/ipv4/tcp_input.c:6736 tcp_v4_do_rcv+0x12c/0x928 net/ipv4/tcp_ipv4.c:1938 sk_backlog_rcv include/net/sock.h:1113 [inline] __release_sock+0xd4/0x2b8 net/core/sock.c:3072 release_sock+0x54/0x194 net/core/sock.c:3626 mptcp_connect+0x5c4/0x8cc net/mptcp/protocol.c:3782 __inet_stream_connect+0x620/0xcb0 net/ipv4/af_inet.c:679 inet_stream_connect+0x64/0xb4 net/ipv4/af_inet.c:750 __sys_connect_file+0x130/0x178 net/socket.c:2067 __sys_connect+0x110/0x138 net/socket.c:2084 __do_sys_connect net/socket.c:2094 [inline] __se_sys_connect net/socket.c:2091 [inline] __arm64_sys_connect+0x6c/0xa0 net/socket.c:2091 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x6c/0x258 arch/arm64/kernel/syscall.c:49 el0_svc_common.constprop.0+0xac/0x230 arch/arm64/kernel/syscall.c:132 do_el0_svc+0x40/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x50/0x180 arch/arm64/kernel/entry-common.c:712 el0t_64_sync_handler+0x100/0x12c arch/arm64/kernel/entry-common.c:730 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598