[ 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]