[08:39:45][root@rc7]# './test_progs -t sockmap_listen' #158/1 sockmap_listen/sockmap IPv4 TCP test_insert_invalid:OK #158/2 sockmap_listen/sockmap IPv4 TCP test_insert_opened:OK #158/3 sockmap_listen/sockmap IPv4 TCP test_insert_bound:OK #158/4 sockmap_listen/sockmap IPv4 TCP test_insert:OK #158/5 sockmap_listen/sockmap IPv4 TCP test_delete_after_insert:OK #158/6 sockmap_listen/sockmap IPv4 TCP test_delete_after_close:OK #158/7 sockmap_listen/sockmap IPv4 TCP test_lookup_after_insert:OK #158/8 sockmap_listen/sockmap IPv4 TCP test_lookup_after_delete:OK #158/9 sockmap_listen/sockmap IPv4 TCP test_lookup_32_bit_value:OK #158/10 sockmap_listen/sockmap IPv4 TCP test_update_existing:OK #158/11 sockmap_listen/sockmap IPv4 TCP test_destroy_orphan_child:OK #158/12 sockmap_listen/sockmap IPv4 TCP test_syn_recv_insert_delete:OK #158/13 sockmap_listen/sockmap IPv4 TCP test_race_insert_listen:OK #158/14 sockmap_listen/sockmap IPv4 TCP test_clone_after_delete:OK #158/15 sockmap_listen/sockmap IPv4 TCP test_accept_after_delete:OK #158/16 sockmap_listen/sockmap IPv4 TCP test_accept_before_delete:OK #158/17 sockmap_listen/sockmap IPv4 UDP test_insert_invalid:OK #158/18 sockmap_listen/sockmap IPv4 UDP test_insert_opened:OK #158/19 sockmap_listen/sockmap IPv4 UDP test_insert:OK #158/20 sockmap_listen/sockmap IPv4 UDP test_delete_after_insert:OK #158/21 sockmap_listen/sockmap IPv4 UDP test_delete_after_close:OK #158/22 sockmap_listen/sockmap IPv4 UDP test_lookup_after_insert:OK #158/23 sockmap_listen/sockmap IPv4 UDP test_lookup_after_delete:OK #158/24 sockmap_listen/sockmap IPv4 UDP test_lookup_32_bit_value:OK #158/25 sockmap_listen/sockmap IPv4 UDP test_update_existing:OK #158/26 sockmap_listen/sockmap IPv4 test_skb_redir_to_connected:OK #158/27 sockmap_listen/sockmap IPv4 test_skb_redir_to_listening:OK #158/28 sockmap_listen/sockmap IPv4 test_msg_redir_to_connected:OK #158/29 sockmap_listen/sockmap IPv4 test_msg_redir_to_listening:OK #158/30 sockmap_listen/sockmap IPv4 TCP test_reuseport_select_listening:OK #158/31 sockmap_listen/sockmap IPv4 TCP test_reuseport_select_connected:OK #158/32 sockmap_listen/sockmap IPv4 TCP test_reuseport_mixed_groups:OK #158/33 sockmap_listen/sockmap IPv4 UDP test_reuseport_select_listening:OK #158/34 sockmap_listen/sockmap IPv4 UDP test_reuseport_select_connected:OK #158/35 sockmap_listen/sockmap IPv4 UDP test_reuseport_mixed_groups:OK #158/36 sockmap_listen/sockmap IPv4 test_udp_redir:OK #158/37 sockmap_listen/sockmap IPv4 test_udp_unix_redir:OK #158/38 sockmap_listen/sockmap IPv6 TCP test_insert_invalid:OK #158/39 sockmap_listen/sockmap IPv6 TCP test_insert_opened:OK #158/40 sockmap_listen/sockmap IPv6 TCP test_insert_bound:OK #158/41 sockmap_listen/sockmap IPv6 TCP test_insert:OK #158/42 sockmap_listen/sockmap IPv6 TCP test_delete_after_insert:OK #158/43 sockmap_listen/sockmap IPv6 TCP test_delete_after_close:OK #158/44 sockmap_listen/sockmap IPv6 TCP test_lookup_after_insert:OK #158/45 sockmap_listen/sockmap IPv6 TCP test_lookup_after_delete:OK #158/46 sockmap_listen/sockmap IPv6 TCP test_lookup_32_bit_value:OK #158/47 sockmap_listen/sockmap IPv6 TCP test_update_existing:OK #158/48 sockmap_listen/sockmap IPv6 TCP test_destroy_orphan_child:OK #158/49 sockmap_listen/sockmap IPv6 TCP test_syn_recv_insert_delete:OK #158/50 sockmap_listen/sockmap IPv6 TCP test_race_insert_listen:OK #158/51 sockmap_listen/sockmap IPv6 TCP test_clone_after_delete:OK #158/52 sockmap_listen/sockmap IPv6 TCP test_accept_after_delete:OK #158/53 sockmap_listen/sockmap IPv6 TCP test_accept_before_delete:OK #158/54 sockmap_listen/sockmap IPv6 UDP test_insert_invalid:OK #158/55 sockmap_listen/sockmap IPv6 UDP test_insert_opened:OK #158/56 sockmap_listen/sockmap IPv6 UDP test_insert:OK #158/57 sockmap_listen/sockmap IPv6 UDP test_delete_after_insert:OK #158/58 sockmap_listen/sockmap IPv6 UDP test_delete_after_close:OK #158/59 sockmap_listen/sockmap IPv6 UDP test_lookup_after_insert:OK #158/60 sockmap_listen/sockmap IPv6 UDP test_lookup_after_delete:OK #158/61 sockmap_listen/sockmap IPv6 UDP test_lookup_32_bit_value:OK #158/62 sockmap_listen/sockmap IPv6 UDP test_update_existing:OK #158/63 sockmap_listen/sockmap IPv6 test_skb_redir_to_connected:OK #158/64 sockmap_listen/sockmap IPv6 test_skb_redir_to_listening:OK #158/65 sockmap_listen/sockmap IPv6 test_msg_redir_to_connected:OK #158/66 sockmap_listen/sockmap IPv6 test_msg_redir_to_listening:OK #158/67 sockmap_listen/sockmap IPv6 TCP test_reuseport_select_listening:OK #158/68 sockmap_listen/sockmap IPv6 TCP test_reuseport_select_connected:OK #158/69 sockmap_listen/sockmap IPv6 TCP test_reuseport_mixed_groups:OK #158/70 sockmap_listen/sockmap IPv6 UDP test_reuseport_select_listening:OK #158/71 sockmap_listen/sockmap IPv6 UDP test_reuseport_select_connected:OK #158/72 sockmap_listen/sockmap IPv6 UDP test_reuseport_mixed_groups:OK #158/73 sockmap_listen/sockmap IPv6 test_udp_redir:OK #158/74 sockmap_listen/sockmap IPv6 test_udp_unix_redir:OK #158/75 sockmap_listen/sockmap Unix test_unix_redir:OK #158/76 sockmap_listen/sockmap Unix test_unix_redir:OK #158/77 sockmap_listen/sockhash IPv4 TCP test_insert_invalid:OK #158/78 sockmap_listen/sockhash IPv4 TCP test_insert_opened:OK #158/79 sockmap_listen/sockhash IPv4 TCP test_insert_bound:OK #158/80 sockmap_listen/sockhash IPv4 TCP test_insert:OK #158/81 sockmap_listen/sockhash IPv4 TCP test_delete_after_insert:OK #158/82 sockmap_listen/sockhash IPv4 TCP test_delete_after_close:OK #158/83 sockmap_listen/sockhash IPv4 TCP test_lookup_after_insert:OK #158/84 sockmap_listen/sockhash IPv4 TCP test_lookup_after_delete:OK #158/85 sockmap_listen/sockhash IPv4 TCP test_lookup_32_bit_value:OK #158/86 sockmap_listen/sockhash IPv4 TCP test_update_existing:OK #158/87 sockmap_listen/sockhash IPv4 TCP test_destroy_orphan_child:OK #158/88 sockmap_listen/sockhash IPv4 TCP test_syn_recv_insert_delete:OK #158/89 sockmap_listen/sockhash IPv4 TCP test_race_insert_listen:OK #158/90 sockmap_listen/sockhash IPv4 TCP test_clone_after_delete:OK #158/91 sockmap_listen/sockhash IPv4 TCP test_accept_after_delete:OK #158/92 sockmap_listen/sockhash IPv4 TCP test_accept_before_delete:OK #158/93 sockmap_listen/sockhash IPv4 UDP test_insert_invalid:OK #158/94 sockmap_listen/sockhash IPv4 UDP test_insert_opened:OK #158/95 sockmap_listen/sockhash IPv4 UDP test_insert:OK #158/96 sockmap_listen/sockhash IPv4 UDP test_delete_after_insert:OK #158/97 sockmap_listen/sockhash IPv4 UDP test_delete_after_close:OK #158/98 sockmap_listen/sockhash IPv4 UDP test_lookup_after_insert:OK #158/99 sockmap_listen/sockhash IPv4 UDP test_lookup_after_delete:OK #158/100 sockmap_listen/sockhash IPv4 UDP test_lookup_32_bit_value:OK #158/101 sockmap_listen/sockhash IPv4 UDP test_update_existing:OK #158/102 sockmap_listen/sockhash IPv4 test_skb_redir_to_connected:OK #158/103 sockmap_listen/sockhash IPv4 test_skb_redir_to_listening:OK #158/104 sockmap_listen/sockhash IPv4 test_msg_redir_to_connected:OK #158/105 sockmap_listen/sockhash IPv4 test_msg_redir_to_listening:OK #158/106 sockmap_listen/sockhash IPv4 TCP test_reuseport_select_listening:OK #158/107 sockmap_listen/sockhash IPv4 TCP test_reuseport_select_connected:OK #158/108 sockmap_listen/sockhash IPv4 TCP test_reuseport_mixed_groups:OK #158/109 sockmap_listen/sockhash IPv4 UDP test_reuseport_select_listening:OK #158/110 sockmap_listen/sockhash IPv4 UDP test_reuseport_select_connected:OK #158/111 sockmap_listen/sockhash IPv4 UDP test_reuseport_mixed_groups:OK #158/112 sockmap_listen/sockhash IPv4 test_udp_redir:OK #158/113 sockmap_listen/sockhash IPv4 test_udp_unix_redir:OK #158/114 sockmap_listen/sockhash IPv6 TCP test_insert_invalid:OK #158/115 sockmap_listen/sockhash IPv6 TCP test_insert_opened:OK #158/116 sockmap_listen/sockhash IPv6 TCP test_insert_bound:OK #158/117 sockmap_listen/sockhash IPv6 TCP test_insert:OK #158/118 sockmap_listen/sockhash IPv6 TCP test_delete_after_insert:OK #158/119 sockmap_listen/sockhash IPv6 TCP test_delete_after_close:OK #158/120 sockmap_listen/sockhash IPv6 TCP test_lookup_after_insert:OK #158/121 sockmap_listen/sockhash IPv6 TCP test_lookup_after_delete:OK #158/122 sockmap_listen/sockhash IPv6 TCP test_lookup_32_bit_value:OK #158/123 sockmap_listen/sockhash IPv6 TCP test_update_existing:OK #158/124 sockmap_listen/sockhash IPv6 TCP test_destroy_orphan_child:OK #158/125 sockmap_listen/sockhash IPv6 TCP test_syn_recv_insert_delete:OK #158/126 sockmap_listen/sockhash IPv6 TCP test_race_insert_listen:OK #158/127 sockmap_listen/sockhash IPv6 TCP test_clone_after_delete:OK #158/128 sockmap_listen/sockhash IPv6 TCP test_accept_after_delete:OK #158/129 sockmap_listen/sockhash IPv6 TCP test_accept_before_delete:OK #158/130 sockmap_listen/sockhash IPv6 UDP test_insert_invalid:OK #158/131 sockmap_listen/sockhash IPv6 UDP test_insert_opened:OK #158/132 sockmap_listen/sockhash IPv6 UDP test_insert:OK #158/133 sockmap_listen/sockhash IPv6 UDP test_delete_after_insert:OK #158/134 sockmap_listen/sockhash IPv6 UDP test_delete_after_close:OK #158/135 sockmap_listen/sockhash IPv6 UDP test_lookup_after_insert:OK #158/136 sockmap_listen/sockhash IPv6 UDP test_lookup_after_delete:OK #158/137 sockmap_listen/sockhash IPv6 UDP test_lookup_32_bit_value:OK #158/138 sockmap_listen/sockhash IPv6 UDP test_update_existing:OK #158/139 sockmap_listen/sockhash IPv6 test_skb_redir_to_connected:OK #158/140 sockmap_listen/sockhash IPv6 test_skb_redir_to_listening:OK #158/141 sockmap_listen/sockhash IPv6 test_msg_redir_to_connected:OK #158/142 sockmap_listen/sockhash IPv6 test_msg_redir_to_listening:OK #158/143 sockmap_listen/sockhash IPv6 TCP test_reuseport_select_listening:OK #158/144 sockmap_listen/sockhash IPv6 TCP test_reuseport_select_connected:OK #158/145 sockmap_listen/sockhash IPv6 TCP test_reuseport_mixed_groups:OK #158/146 sockmap_listen/sockhash IPv6 UDP test_reuseport_select_listening:OK #158/147 sockmap_listen/sockhash IPv6 UDP test_reuseport_select_connected:OK #158/148 sockmap_listen/sockhash IPv6 UDP test_reuseport_mixed_groups:OK #158/149 sockmap_listen/sockhash IPv6 test_udp_redir:OK #158/150 sockmap_listen/sockhash IPv6 test_udp_unix_redir:OK #158/151 sockmap_listen/sockhash Unix test_unix_redir:OK #158/152 sockmap_listen/sockhash Unix test_unix_redir:OK #158 sockmap_listen:OK Summary: 1/152 PASSED, 0 SKIPPED, 0 FAILED :: [ PASS ] :: Command './test_progs -t sockmap_listen' (Expected 0, got 0, score ) [08:39:57][root@rc7]# './test_progs-no_alu32 -t sockmap_listen' :: [ FAIL ] :: Command './test_progs-no_alu32 -t sockmap_listen' (Expected 0, got 255, score 157) === Dmesg result === [ 1390.785437] ====================================================== [ 1390.791654] WARNING: possible circular locking dependency detected [ 1390.797874] 6.0.0-rc7 #1 Tainted: G W OE [ 1390.802958] ------------------------------------------------------ [ 1390.809177] kworker/7:4/13932 is trying to acquire lock: [ 1390.814524] ffff8881775abeb0 (sk_lock-AF_INET){+.+.}-{0:0}, at: tcp_sendpage+0x23/0x90 [ 1390.822513] but task is already holding lock: [ 1390.828381] ffff8881273b8b60 (&psock->work_mutex){+.+.}-{3:3}, at: sk_psock_backlog+0x2c/0x630 [ 1390.837061] which lock already depends on the new lock. [ 1390.845287] the existing dependency chain (in reverse order) is: [ 1390.852813] -> #2 (&psock->work_mutex){+.+.}-{3:3}: [ 1390.859217] __mutex_lock+0x12b/0xcf0 [ 1390.863433] sk_psock_backlog+0x2c/0x630 [ 1390.867906] process_one_work+0x53e/0x9b0 [ 1390.872470] worker_thread+0x8f/0x630 [ 1390.876683] kthread+0x17b/0x1b0 [ 1390.880460] ret_from_fork+0x1f/0x30 [ 1390.884586] -> #1 ((work_completion)(&psock->work)){+.+.}-{0:0}: [ 1390.892126] __flush_work+0xfb/0x6b0 [ 1390.896251] __cancel_work_timer+0x21b/0x2d0 [ 1390.901074] sock_map_close+0x1a5/0x4b0 [ 1390.905460] inet_release+0x8c/0xf0 [ 1390.909498] __sock_release+0x6f/0x130 [ 1390.913797] sock_close+0x14/0x20 [ 1390.917660] __fput+0x11a/0x400 [ 1390.921350] task_work_run+0x88/0xe0 [ 1390.925477] exit_to_user_mode_prepare+0x22c/0x250 [ 1390.930831] syscall_exit_to_user_mode+0x16/0x50 [ 1390.936007] do_syscall_64+0x67/0x80 [ 1390.940134] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 1390.945747] -> #0 (sk_lock-AF_INET){+.+.}-{0:0}: [ 1390.951890] __lock_acquire+0x1a82/0x2e10 [ 1390.956453] lock_acquire+0x16f/0x410 [ 1390.960666] lock_sock_nested+0x37/0x90 [ 1390.965055] tcp_sendpage+0x23/0x90 [ 1390.969094] inet_sendpage+0x6f/0xc0 [ 1390.973218] kernel_sendpage+0xdd/0x220 [ 1390.977606] __skb_send_sock+0x33f/0x540 [ 1390.982083] sk_psock_backlog+0x116/0x630 [ 1390.986645] process_one_work+0x53e/0x9b0 [ 1390.991207] worker_thread+0x8f/0x630 [ 1390.995422] kthread+0x17b/0x1b0 [ 1390.999200] ret_from_fork+0x1f/0x30 [ 1391.003329] other info that might help us debug this: [ 1391.011382] Chain exists of: sk_lock-AF_INET --> (work_completion)(&psock->work) --> &psock->work_mutex [ 1391.023908] Possible unsafe locking scenario: [ 1391.029863] CPU0 CPU1 [ 1391.034420] ---- ---- [ 1391.038978] lock(&psock->work_mutex); [ 1391.042842] lock((work_completion)(&psock->work)); [ 1391.050374] lock(&psock->work_mutex); [ 1391.056772] lock(sk_lock-AF_INET); [ 1391.060375] *** DEADLOCK *** [ 1391.066330] 3 locks held by kworker/7:4/13932: [ 1391.070802] #0: ffff88810007e338 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x46a/0x9b0 [ 1391.080274] #1: ffff888115f1fde8 ((work_completion)(&psock->work)){+.+.}-{0:0}, at: process_one_work+0x46a/0x9b0 [ 1391.090618] #2: ffff8881273b8b60 (&psock->work_mutex){+.+.}-{3:3}, at: sk_psock_backlog+0x2c/0x630 [ 1391.099739] stack backtrace: [ 1391.104124] CPU: 7 PID: 13932 Comm: kworker/7:4 Tainted: G W OE 6.0.0-rc7 #1 [ 1391.112358] Hardware name: HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 03/08/2022 [ 1391.120936] Workqueue: events sk_psock_backlog [ 1391.125415] Call Trace: [ 1391.127878] [ 1391.129992] dump_stack_lvl+0x5b/0x77 [ 1391.133688] check_noncircular+0x1f2/0x230 [ 1391.137816] ? print_circular_bug+0x110/0x110 [ 1391.142207] ? preempt_count_sub+0x15/0x100 [ 1391.146425] ? unwind_next_frame+0x9f3/0xbc0 [ 1391.150727] ? __orc_find+0x6c/0xd0 [ 1391.154247] ? lockdep_lock+0xb8/0x170 [ 1391.158028] ? call_rcu_zapped+0x90/0x90 [ 1391.161983] ? add_chain_block+0x3b5/0x3e0 [ 1391.166117] __lock_acquire+0x1a82/0x2e10 [ 1391.170171] ? lockdep_hardirqs_on_prepare+0x230/0x230 [ 1391.175360] lock_acquire+0x16f/0x410 [ 1391.179050] ? tcp_sendpage+0x23/0x90 [ 1391.182747] ? lock_downgrade+0x3c0/0x3c0 [ 1391.186790] ? lockdep_hardirqs_on+0x7d/0x100 [ 1391.191188] ? lockdep_lock+0xb8/0x170 [ 1391.194968] ? __list_add_valid+0x3f/0x70 [ 1391.199015] ? add_lock_to_list+0x129/0x170 [ 1391.203239] lock_sock_nested+0x37/0x90 [ 1391.207105] ? tcp_sendpage+0x23/0x90 [ 1391.210799] tcp_sendpage+0x23/0x90 [ 1391.214320] inet_sendpage+0x6f/0xc0 [ 1391.217928] kernel_sendpage+0xdd/0x220 [ 1391.221802] __skb_send_sock+0x33f/0x540 [ 1391.225758] ? sendmsg_unlocked+0x60/0x60 [ 1391.229799] ? sock_dequeue_err_skb+0x1b0/0x1b0 [ 1391.234375] ? sendpage_unlocked+0x60/0x60 [ 1391.238504] ? lock_release+0x233/0x470 [ 1391.242370] ? skb_dequeue+0x92/0xb0 [ 1391.245973] ? reacquire_held_locks+0x270/0x270 [ 1391.250542] ? mark_held_locks+0x65/0x90 [ 1391.254502] ? preempt_count_sub+0xb7/0x100 [ 1391.258719] ? _raw_spin_unlock_irqrestore+0x40/0x60 [ 1391.263727] sk_psock_backlog+0x116/0x630 [ 1391.267769] ? lock_is_held_type+0xe3/0x140 [ 1391.271993] process_one_work+0x53e/0x9b0 [ 1391.276043] ? pwq_dec_nr_in_flight+0x100/0x100 [ 1391.280613] ? rwlock_bug.part.0+0x60/0x60 [ 1391.284751] worker_thread+0x8f/0x630 [ 1391.288454] ? process_one_work+0x9b0/0x9b0 [ 1391.292670] kthread+0x17b/0x1b0 [ 1391.295926] ? kthread_complete_and_exit+0x20/0x20 [ 1391.300758] ret_from_fork+0x1f/0x30 [ 1391.304378] :: [ FAIL ] :: Test '158..254 selftests: bpf_test_progs:sockmap_listen [FAIL]'