program: r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x10, 0x3, 0x0) (async) r1 = socket(0x10, 0x3, 0x0) socket(0x10, 0x3, 0x0) (async) r2 = socket(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r3, 0x8933, &(0x7f0000000000)={'lo\x00'}) (async) ioctl$sock_SIOCGIFINDEX(r3, 0x8933, &(0x7f0000000000)={'lo\x00', 0x0}) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000080)=@newqdisc={0x60, 0x24, 0xd0f, 0x70bd2d, 0x0, {0x60, 0x0, 0x0, r4, {0x0, 0xa}, {0xffff, 0xffff}, {0x0, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8}, {0x34, 0x2, [@TCA_TBF_PARMS={0x28, 0x1, {{0x4, 0x2, 0x0, 0x0, 0x7, 0x8}, {0x12, 0x3, 0x0, 0x1, 0x8001, 0x4400}, 0xa5, 0x4, 0x10000000}}, @TCA_TBF_BURST={0x8, 0x6, 0x8054}]}}]}, 0x60}}, 0x44080) (async) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000080)=@newqdisc={0x60, 0x24, 0xd0f, 0x70bd2d, 0x0, {0x60, 0x0, 0x0, r4, {0x0, 0xa}, {0xffff, 0xffff}, {0x0, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8}, {0x34, 0x2, [@TCA_TBF_PARMS={0x28, 0x1, {{0x4, 0x2, 0x0, 0x0, 0x7, 0x8}, {0x12, 0x3, 0x0, 0x1, 0x8001, 0x4400}, 0xa5, 0x4, 0x10000000}}, @TCA_TBF_BURST={0x8, 0x6, 0x8054}]}}]}, 0x60}}, 0x44080) socket(0x10, 0x3, 0x0) (async) socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000400)=@newqdisc={0x74, 0x24, 0xd0f, 0x70bd26, 0x0, {0x60, 0x0, 0x0, r4, {}, {0x2, 0xa}, {0xfff3}}, [@qdisc_kind_options=@q_codel={{0xa}, {0x44, 0x2, [@TCA_CODEL_INTERVAL={0x8, 0x3, 0x1}, @TCA_CODEL_TARGET={0x8, 0x1, 0x4}, @TCA_CODEL_ECN={0x8}, @TCA_CODEL_CE_THRESHOLD={0x8, 0x5, 0x2}, @TCA_CODEL_TARGET={0x8, 0x1, 0x5}, @TCA_CODEL_INTERVAL={0x8, 0x3, 0x4}, @TCA_CODEL_INTERVAL={0x8, 0x3, 0x9}, @TCA_CODEL_TARGET={0x8, 0x1, 0x7}]}}]}, 0x74}}, 0x800) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = socket$inet6_udp(0xa, 0x2, 0x0) syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x0) (async) r7 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x0) connect$bt_l2cap(r7, &(0x7f0000000080)={0x1f, 0x0, @fixed={'\xaa\xaa\xaa\xaa\xaa', 0x10}, 0x803}, 0xe) syz_emit_vhci(&(0x7f0000000340)=ANY=[@ANYBLOB="02c82028002400010007d3040007c4faff020c04000300d3"], 0x2d) r8 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$HCIINQUIRY(r8, 0x400448ca, 0x0) ioctl$sock_SIOCGIFINDEX(r6, 0x8933, &(0x7f0000000040)={'lo\x00', 0x0}) sendmsg$nl_route_sched(r5, &(0x7f00000012c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000180)=@newqdisc={0x4c, 0x24, 0x4ee4e6a52ff56541, 0x0, 0x0, {0x0, 0x0, 0x0, r9, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x1c, 0x2, {{0x0, 0x101, 0x0, 0x9, 0xffffffff}}}}]}, 0x4c}}, 0x0) (async) sendmsg$nl_route_sched(r5, &(0x7f00000012c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000180)=@newqdisc={0x4c, 0x24, 0x4ee4e6a52ff56541, 0x0, 0x0, {0x0, 0x0, 0x0, r9, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x1c, 0x2, {{0x0, 0x101, 0x0, 0x9, 0xffffffff}}}}]}, 0x4c}}, 0x0) socket$packet(0x11, 0x2, 0x300) setsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000040)={@private1, 0xfffffffc, 0x0, 0x0, 0x2}, 0x20) ioctl$sock_SIOCGIFINDEX_80211(r7, 0x8933, &(0x7f00000003c0)={'wlan0\x00'}) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) r10 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl(r10, 0x8b32, &(0x7f0000000040)) r11 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$mptcp(&(0x7f00000000c0), r11) (async) syz_genetlink_get_family_id$mptcp(&(0x7f00000000c0), r11) getsockname$packet(r11, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r13 = userfaultfd(0x800) copy_file_range(r13, &(0x7f0000000280)=0xffffffffffffffff, r3, &(0x7f00000002c0)=0x4, 0x1, 0x0) sendmsg$IPCTNL_MSG_CT_GET_STATS(r1, &(0x7f0000000500)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f0000000480)={&(0x7f0000000040)={0x14, 0x5, 0x1, 0x201, 0x0, 0x0, {0x5, 0x0, 0x6}, ["", "", "", "", "", "", "", "", ""]}, 0x14}, 0x1, 0x0, 0x0, 0x800}, 0xba57d916d46c14fc) sendmsg$nl_route_sched(r11, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000001240)=@newqdisc={0x78, 0x24, 0x5820a61ca228651, 0x0, 0x0, {0x0, 0x0, 0x0, r12, {0x0, 0x2}, {0xffff, 0xfff3}}, [@qdisc_kind_options=@q_sfq={{0x8}, {0x4c, 0x2, {{0x0, 0x0, 0xfffffffd}, 0x4, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x8, 0x0, {0x0, 0x3, 0x0, 0x0, 0x0, 0x7}}}}]}, 0x78}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@newtfilter={0x3c, 0x2c, 0xd27, 0x70bd24, 0x0, {0xb, 0x0, 0x0, r12, {0x3}, {}, {0xfff1}}, [@filter_kind_options=@f_basic={{0xa}, {0xc, 0x2, [@TCA_BASIC_CLASSID={0x8, 0x1, {0x3, 0xb}}]}}]}, 0x3c}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@newtfilter={0x3c, 0x2c, 0xd27, 0x70bd24, 0x0, {0xb, 0x0, 0x0, r12, {0x3}, {}, {0xfff1}}, [@filter_kind_options=@f_basic={{0xa}, {0xc, 0x2, [@TCA_BASIC_CLASSID={0x8, 0x1, {0x3, 0xb}}]}}]}, 0x3c}}, 0x0) [ 85.285878][ T5348] sch_tbf: burst 32852 is lower than device lo mtu (65550) ! [ 85.295162][ T5349] sch_tbf: burst 32852 is lower than device lo mtu (65550) ! [ 85.311866][ T5348] [ 85.313098][ T5348] ====================================================== [ 85.316344][ T5348] WARNING: possible circular locking dependency detected [ 85.319405][ T5348] syzkaller #0 Not tainted [ 85.321382][ T5348] ------------------------------------------------------ [ 85.324574][ T5348] syz.0.0/5348 is trying to acquire lock: [ 85.326960][ T5348] ffff88801a4f5040 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}, at: __flush_work+0x100/0xc50 [ 85.331939][ T5348] [ 85.331939][ T5348] but task is already holding lock: [ 85.334984][ T5348] ffff88801a4f5338 (&conn->lock#2){+.+.}-{4:4}, at: l2cap_conn_del+0x7b/0x5b0 [ 85.338935][ T5348] [ 85.338935][ T5348] which lock already depends on the new lock. [ 85.338935][ T5348] [ 85.343430][ T5348] [ 85.343430][ T5348] the existing dependency chain (in reverse order) is: [ 85.347451][ T5348] [ 85.347451][ T5348] -> #1 (&conn->lock#2){+.+.}-{4:4}: [ 85.350736][ T5348] __mutex_lock+0x19f/0x1300 [ 85.352875][ T5348] l2cap_info_timeout+0x60/0xa0 [ 85.355033][ T5348] process_scheduled_works+0xaec/0x17a0 [ 85.357767][ T5348] worker_thread+0x89f/0xd90 [ 85.360154][ T5348] kthread+0x726/0x8b0 [ 85.362141][ T5348] ret_from_fork+0x51b/0xa40 [ 85.364344][ T5348] ret_from_fork_asm+0x1a/0x30 [ 85.366751][ T5348] [ 85.366751][ T5348] -> #0 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}: [ 85.371398][ T5348] __lock_acquire+0x15a5/0x2cf0 [ 85.373552][ T5348] lock_acquire+0x106/0x330 [ 85.375593][ T5348] __flush_work+0x700/0xc50 [ 85.377654][ T5348] __cancel_work_sync+0xbe/0x110 [ 85.379864][ T5348] l2cap_conn_del+0x402/0x5b0 [ 85.381905][ T5348] hci_conn_hash_flush+0x10d/0x260 [ 85.384106][ T5348] hci_dev_close_sync+0x821/0x10e0 [ 85.386356][ T5348] hci_dev_close+0x108/0x260 [ 85.388076][ T5348] sock_do_ioctl+0x101/0x320 [ 85.389860][ T5348] sock_ioctl+0x5c6/0x7f0 [ 85.391622][ T5348] __se_sys_ioctl+0xfc/0x170 [ 85.393654][ T5348] do_syscall_64+0xe2/0xf80 [ 85.395624][ T5348] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.398225][ T5348] [ 85.398225][ T5348] other info that might help us debug this: [ 85.398225][ T5348] [ 85.402249][ T5348] Possible unsafe locking scenario: [ 85.402249][ T5348] [ 85.405221][ T5348] CPU0 CPU1 [ 85.407216][ T5348] ---- ---- [ 85.409349][ T5348] lock(&conn->lock#2); [ 85.411390][ T5348] lock((work_completion)(&(&conn->info_timer)->work)); [ 85.415551][ T5348] lock(&conn->lock#2); [ 85.418523][ T5348] lock((work_completion)(&(&conn->info_timer)->work)); [ 85.421599][ T5348] [ 85.421599][ T5348] *** DEADLOCK *** [ 85.421599][ T5348] [ 85.425352][ T5348] 5 locks held by syz.0.0/5348: [ 85.427584][ T5348] #0: ffff888011f34ec0 (&hdev->req_lock){+.+.}-{4:4}, at: hci_dev_close+0x100/0x260 [ 85.431711][ T5348] #1: ffff888011f340c0 (&hdev->lock){+.+.}-{4:4}, at: hci_dev_close_sync+0x640/0x10e0 [ 85.436301][ T5348] #2: ffffffff8f936f08 (hci_cb_list_lock){+.+.}-{4:4}, at: hci_conn_hash_flush+0xa1/0x260 [ 85.440646][ T5348] #3: ffff88801a4f5338 (&conn->lock#2){+.+.}-{4:4}, at: l2cap_conn_del+0x7b/0x5b0 [ 85.444510][ T5348] #4: ffffffff8e35a360 (rcu_read_lock){....}-{1:3}, at: __flush_work+0x100/0xc50 [ 85.448207][ T5348] [ 85.448207][ T5348] stack backtrace: [ 85.450829][ T5348] CPU: 0 UID: 0 PID: 5348 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 85.450846][ T5348] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 85.450858][ T5348] Call Trace: [ 85.450868][ T5348] [ 85.450878][ T5348] dump_stack_lvl+0xe8/0x150 [ 85.450897][ T5348] print_circular_bug+0x2e1/0x300 [ 85.450910][ T5348] check_noncircular+0x12e/0x150 [ 85.450922][ T5348] __lock_acquire+0x15a5/0x2cf0 [ 85.450933][ T5348] ? do_raw_spin_lock+0x12b/0x2f0 [ 85.450949][ T5348] ? __flush_work+0x100/0xc50 [ 85.450962][ T5348] lock_acquire+0x106/0x330 [ 85.450972][ T5348] ? __flush_work+0x100/0xc50 [ 85.450984][ T5348] ? __flush_work+0x100/0xc50 [ 85.450995][ T5348] __flush_work+0x700/0xc50 [ 85.451006][ T5348] ? __flush_work+0x100/0xc50 [ 85.451017][ T5348] ? __flush_work+0x100/0xc50 [ 85.451028][ T5348] ? __pfx___flush_work+0x10/0x10 [ 85.451040][ T5348] ? __pfx_wq_barrier_func+0x10/0x10 [ 85.451055][ T5348] ? __cancel_work_sync+0x5c/0x110 [ 85.451067][ T5348] __cancel_work_sync+0xbe/0x110 [ 85.451080][ T5348] l2cap_conn_del+0x402/0x5b0 [ 85.451094][ T5348] ? __pfx_l2cap_disconn_cfm+0x10/0x10 [ 85.451106][ T5348] hci_conn_hash_flush+0x10d/0x260 [ 85.451120][ T5348] hci_dev_close_sync+0x821/0x10e0 [ 85.451132][ T5348] ? __pfx_hci_dev_close_sync+0x10/0x10 [ 85.451142][ T5348] ? lockdep_hardirqs_on+0x7a/0x110 [ 85.451157][ T5348] ? enable_work+0x1e9/0x220 [ 85.451170][ T5348] hci_dev_close+0x108/0x260 [ 85.451182][ T5348] sock_do_ioctl+0x101/0x320 [ 85.451194][ T5348] ? __pfx_sock_do_ioctl+0x10/0x10 [ 85.451202][ T5348] ? do_futex+0x395/0x420 [ 85.451215][ T5348] sock_ioctl+0x5c6/0x7f0 [ 85.451224][ T5348] ? __pfx_sock_ioctl+0x10/0x10 [ 85.451234][ T5348] ? __fget_files+0x2a/0x420 [ 85.451245][ T5348] ? __fget_files+0x3a0/0x420 [ 85.451254][ T5348] ? __fget_files+0x2a/0x420 [ 85.451264][ T5348] ? bpf_lsm_file_ioctl+0x9/0x20 [ 85.451274][ T5348] ? __pfx_sock_ioctl+0x10/0x10 [ 85.451282][ T5348] __se_sys_ioctl+0xfc/0x170 [ 85.451298][ T5348] do_syscall_64+0xe2/0xf80 [ 85.451312][ T5348] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.451322][ T5348] ? trace_irq_disable+0x37/0x100 [ 85.451336][ T5348] ? clear_bhb_loop+0x60/0xb0 [ 85.451347][ T5348] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.451357][ T5348] RIP: 0033:0x7f53ef39acb9 [ 85.451370][ T5348] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 [ 85.451379][ T5348] RSP: 002b:00007f53f0171028 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 85.451400][ T5348] RAX: ffffffffffffffda RBX: 00007f53ef615fa0 RCX: 00007f53ef39acb9 [ 85.451407][ T5348] RDX: 0000000000000000 RSI: 00000000400448ca RDI: 0000000000000011 [ 85.451413][ T5348] RBP: 00007f53ef408bf7 R08: 0000000000000000 R09: 0000000000000000 [ 85.451419][ T5348] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.451425][ T5348] R13: 00007f53ef616038 R14: 00007f53ef615fa0 R15: 00007ffc9eba34a8 [ 85.451435][ T5348] [ 85.584524][ T4689] Bluetooth: hci0: command tx timeout [ 87.628511][ T4689] Bluetooth: hci0: command tx timeout [ 89.708707][ T4689] Bluetooth: hci0: command tx timeout [ 91.792447][ T9] cfg80211: failed to load regulatory.db