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