BUG: sleeping function called from invalid context at kernel/locking/mutex.c:585 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 5353, name: kworker/u33:8 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 4 locks held by kworker/u33:8/5353: #0: ffff88801ea3b948 ((wq_completion)hci0#2){+.+.}-{0:0}, at: process_one_work+0x1277/0x1b40 kernel/workqueue.c:3206 #1: ffffc90004247d80 ((work_completion)(&hdev->rx_work)){+.+.}-{0:0}, at: process_one_work+0x921/0x1b40 kernel/workqueue.c:3207 #2: ffff888025850078 (&hdev->lock){+.+.}-{3:3}, at: hci_le_create_big_complete_evt+0xde/0xb30 net/bluetooth/hci_event.c:6852 #3: ffffffff8ddb53a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:326 [inline] #3: ffffffff8ddb53a0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #3: ffffffff8ddb53a0 (rcu_read_lock){....}-{1:2}, at: hci_le_create_big_complete_evt+0x100/0xb30 net/bluetooth/hci_event.c:6853 CPU: 2 UID: 0 PID: 5353 Comm: kworker/u33:8 Not tainted 6.11.0-rc1-syzkaller-00062-ge4fc196f5ba3 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: hci0 hci_rx_work Call Trace: __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x16c/0x1f0 lib/dump_stack.c:119 __might_resched+0x3c0/0x5e0 kernel/sched/core.c:8437 __mutex_lock_common kernel/locking/mutex.c:585 [inline] __mutex_lock+0xe2/0x9c0 kernel/locking/mutex.c:752 hci_connect_cfm include/net/bluetooth/hci_core.h:1962 [inline] hci_le_create_big_complete_evt+0x387/0xb30 net/bluetooth/hci_event.c:6877 hci_le_meta_evt+0x2e2/0x5d0 net/bluetooth/hci_event.c:7134 hci_event_func net/bluetooth/hci_event.c:7442 [inline] hci_event_packet+0x666/0x1180 net/bluetooth/hci_event.c:7497 hci_rx_work+0x2c6/0x1610 net/bluetooth/hci_core.c:4029 process_one_work+0x9c5/0x1b40 kernel/workqueue.c:3231 process_scheduled_works kernel/workqueue.c:3312 [inline] worker_thread+0x6c8/0xf20 kernel/workqueue.c:3390 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ============================= [ BUG: Invalid wait context ] 6.11.0-rc1-syzkaller-00062-ge4fc196f5ba3 #0 Tainted: G W ----------------------------- kworker/u33:8/5353 is trying to lock: ffffffff8fc83c68 (hci_cb_list_lock){+.+.}-{3:3}, at: hci_connect_cfm include/net/bluetooth/hci_core.h:1962 [inline] ffffffff8fc83c68 (hci_cb_list_lock){+.+.}-{3:3}, at: hci_le_create_big_complete_evt+0x387/0xb30 net/bluetooth/hci_event.c:6877 other info that might help us debug this: context-{4:4} 4 locks held by kworker/u33:8/5353: #0: ffff88801ea3b948 ((wq_completion)hci0#2){+.+.}-{0:0}, at: process_one_work+0x1277/0x1b40 kernel/workqueue.c:3206 #1: ffffc90004247d80 ((work_completion)(&hdev->rx_work)){+.+.}-{0:0}, at: process_one_work+0x921/0x1b40 kernel/workqueue.c:3207 #2: ffff888025850078 (&hdev->lock){+.+.}-{3:3}, at: hci_le_create_big_complete_evt+0xde/0xb30 net/bluetooth/hci_event.c:6852 #3: ffffffff8ddb53a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:326 [inline] #3: ffffffff8ddb53a0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #3: ffffffff8ddb53a0 (rcu_read_lock){....}-{1:2}, at: hci_le_create_big_complete_evt+0x100/0xb30 net/bluetooth/hci_event.c:6853 stack backtrace: CPU: 2 UID: 0 PID: 5353 Comm: kworker/u33:8 Tainted: G W 6.11.0-rc1-syzkaller-00062-ge4fc196f5ba3 #0 Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: hci0 hci_rx_work Call Trace: __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:119 print_lock_invalid_wait_context kernel/locking/lockdep.c:4750 [inline] check_wait_context kernel/locking/lockdep.c:4820 [inline] __lock_acquire+0x13cc/0x3cb0 kernel/locking/lockdep.c:5092 lock_acquire kernel/locking/lockdep.c:5759 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5724 __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x175/0x9c0 kernel/locking/mutex.c:752 hci_connect_cfm include/net/bluetooth/hci_core.h:1962 [inline] hci_le_create_big_complete_evt+0x387/0xb30 net/bluetooth/hci_event.c:6877 hci_le_meta_evt+0x2e2/0x5d0 net/bluetooth/hci_event.c:7134 hci_event_func net/bluetooth/hci_event.c:7442 [inline] hci_event_packet+0x666/0x1180 net/bluetooth/hci_event.c:7497 hci_rx_work+0x2c6/0x1610 net/bluetooth/hci_core.c:4029 process_one_work+0x9c5/0x1b40 kernel/workqueue.c:3231 process_scheduled_works kernel/workqueue.c:3312 [inline] worker_thread+0x6c8/0xf20 kernel/workqueue.c:3390 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ------------[ cut here ]------------ Voluntary context switch within RCU read-side critical section! WARNING: CPU: 2 PID: 5353 at kernel/rcu/tree_plugin.h:330 rcu_note_context_switch+0xc5c/0x1ae0 kernel/rcu/tree_plugin.h:330 Modules linked in: CPU: 2 UID: 0 PID: 5353 Comm: kworker/u33:8 Tainted: G W 6.11.0-rc1-syzkaller-00062-ge4fc196f5ba3 #0 Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: hci0 hci_rx_work RIP: 0010:rcu_note_context_switch+0xc5c/0x1ae0 kernel/rcu/tree_plugin.h:330 Code: 75 00 4c 8b 54 24 30 48 8b 44 24 28 8b 4c 24 10 e9 c6 03 00 00 c6 05 62 da 88 0e 01 90 48 c7 c7 60 95 4e 8b e8 b5 1f da ff 90 <0f> 0b 90 90 e9 a8 f4 ff ff 38 d0 7f 08 84 c0 0f 85 2b 08 00 00 80 RSP: 0018:ffffc90004247678 EFLAGS: 00010082 RAX: 0000000000000000 RBX: ffff88806b23fd00 RCX: ffffc900281fe000 RDX: 0000000000100000 RSI: ffffffff814cc386 RDI: 0000000000000001 RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 000000002d2d2d2d R12: ffff888024548000 R13: ffff888024548000 R14: ffff888024548000 R15: ffff88806b23edc0 FS: 0000000000000000(0000) GS:ffff88806b200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020004000 CR3: 0000000020712000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __schedule+0x291/0x5490 kernel/sched/core.c:6417 __schedule_loop kernel/sched/core.c:6606 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6621 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6678 mutex_optimistic_spin kernel/locking/mutex.c:510 [inline] __mutex_lock_common kernel/locking/mutex.c:612 [inline] __mutex_lock+0x81e/0x9c0 kernel/locking/mutex.c:752 hci_connect_cfm include/net/bluetooth/hci_core.h:1962 [inline] hci_le_create_big_complete_evt+0x387/0xb30 net/bluetooth/hci_event.c:6877 hci_le_meta_evt+0x2e2/0x5d0 net/bluetooth/hci_event.c:7134 hci_event_func net/bluetooth/hci_event.c:7442 [inline] hci_event_packet+0x666/0x1180 net/bluetooth/hci_event.c:7497 hci_rx_work+0x2c6/0x1610 net/bluetooth/hci_core.c:4029 process_one_work+0x9c5/0x1b40 kernel/workqueue.c:3231 process_scheduled_works kernel/workqueue.c:3312 [inline] worker_thread+0x6c8/0xf20 kernel/workqueue.c:3390 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244