BUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1330 in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 25064, name: syz-executor.2 3 locks held by syz-executor.2/25064: #0: ffff88810f9a6f40 (&hdev->req_lock){+.+.}-{3:3}, at: hci_req_sync+0x35/0x70 net/bluetooth/hci_request.c:278 #1: ffffffff842f5dc0 (rcu_read_lock){....}-{1:2}, at: __queue_work+0x55/0x670 kernel/workqueue.c:1412 #2: ffff88812b7acde8 (&mm->mmap_lock#2){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:56 [inline] #2: ffff88812b7acde8 (&mm->mmap_lock#2){++++}-{3:3}, at: do_user_addr_fault arch/x86/mm/fault.c:1313 [inline] #2: ffff88812b7acde8 (&mm->mmap_lock#2){++++}-{3:3}, at: handle_page_fault arch/x86/mm/fault.c:1429 [inline] #2: ffff88812b7acde8 (&mm->mmap_lock#2){++++}-{3:3}, at: exc_page_fault+0x156/0x720 arch/x86/mm/fault.c:1482 irq event stamp: 360 hardirqs last enabled at (359): [] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] hardirqs last enabled at (359): [] _raw_spin_unlock_irqrestore+0x54/0x70 kernel/locking/spinlock.c:191 hardirqs last disabled at (360): [] queue_work_on+0x82/0xb0 kernel/workqueue.c:1515 softirqs last enabled at (328): [] hci_sock_ioctl+0x51/0x3e0 net/bluetooth/hci_sock.c:1010 softirqs last disabled at (326): [] spin_lock_bh include/linux/spinlock.h:359 [inline] softirqs last disabled at (326): [] release_sock+0x14/0xa0 net/core/sock.c:3063 Preemption disabled at: [<0000000000000000>] 0x0 CPU: 1 PID: 25064 Comm: syz-executor.2 Not tainted 5.9.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0xa3/0xcc lib/dump_stack.c:118 ___might_sleep.cold.112+0xfb/0x10f kernel/sched/core.c:7299 do_user_addr_fault arch/x86/mm/fault.c:1330 [inline] handle_page_fault arch/x86/mm/fault.c:1429 [inline] exc_page_fault+0x171/0x720 arch/x86/mm/fault.c:1482 asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:538 RIP: 0010:__queue_work+0xda/0x670 kernel/workqueue.c:1434 Code: 03 00 00 44 89 ff e8 25 35 f1 ff 4c 89 ef 89 c6 e8 ab d1 ff ff 48 8b 7d d0 48 89 c3 e8 0f dc ff ff 48 85 c0 0f 84 30 01 00 00 <48> 39 03 0f 85 81 02 00 00 48 89 c7 e8 05 a6 e6 01 8b 43 18 85 c0 RSP: 0018:ffffc9000109bc08 EFLAGS: 00010086 RAX: ffff88812aee2800 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000005 RDI: ffffffff842ec7c0 RBP: ffffc9000109bc40 R08: ffff88812b800050 R09: ffff88812b800000 R10: 0000000000000000 R11: ffffffff842ec808 R12: 0000000000000026 R13: ffff888110c12400 R14: 0000000000000040 R15: 0000000000000001 queue_work_on+0x99/0xb0 kernel/workqueue.c:1518 queue_work include/linux/workqueue.h:507 [inline] req_run+0xa9/0xf0 net/bluetooth/hci_request.c:87 hci_req_run_skb net/bluetooth/hci_request.c:99 [inline] __hci_req_sync+0xd9/0x280 net/bluetooth/hci_request.c:212 hci_req_sync+0x49/0x70 net/bluetooth/hci_request.c:279 hci_dev_cmd+0x1b2/0x2c0 net/bluetooth/hci_core.c:2020 hci_sock_ioctl+0x1f6/0x3e0 net/bluetooth/hci_sock.c:1052 sock_do_ioctl+0x38/0x130 net/socket.c:1047 sock_ioctl+0x2f1/0x3e0 net/socket.c:1198 vfs_ioctl fs/ioctl.c:48 [inline] __do_sys_ioctl fs/ioctl.c:753 [inline] __se_sys_ioctl fs/ioctl.c:739 [inline] __x64_sys_ioctl+0x7c/0xb0 fs/ioctl.c:739 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45cce9 Code: 2d b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 0f 83 fb b5 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f9cdc432c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 000000000001d300 RCX: 000000000045cce9 RDX: 0000000020000000 RSI: 00000000400448de RDI: 0000000000000004 RBP: 000000000078bf40 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000078bf0c R13: 00007ffc5fae482f R14: 00007f9cdc4339c0 R15: 000000000078bf0c BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 118c9a067 P4D 118c9a067 PUD 111316067 PMD 0 Oops: 0000 [#1] PREEMPT SMP CPU: 1 PID: 25064 Comm: syz-executor.2 Tainted: G W 5.9.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__queue_work+0xda/0x670 kernel/workqueue.c:1434 Code: 03 00 00 44 89 ff e8 25 35 f1 ff 4c 89 ef 89 c6 e8 ab d1 ff ff 48 8b 7d d0 48 89 c3 e8 0f dc ff ff 48 85 c0 0f 84 30 01 00 00 <48> 39 03 0f 85 81 02 00 00 48 89 c7 e8 05 a6 e6 01 8b 43 18 85 c0 RSP: 0018:ffffc9000109bc08 EFLAGS: 00010086 RAX: ffff88812aee2800 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000005 RDI: ffffffff842ec7c0 RBP: ffffc9000109bc40 R08: ffff88812b800050 R09: ffff88812b800000 R10: 0000000000000000 R11: ffffffff842ec808 R12: 0000000000000026 R13: ffff888110c12400 R14: 0000000000000040 R15: 0000000000000001 FS: 00007f9cdc433700(0000) GS:ffff88812c100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000110a92000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: queue_work_on+0x99/0xb0 kernel/workqueue.c:1518 queue_work include/linux/workqueue.h:507 [inline] req_run+0xa9/0xf0 net/bluetooth/hci_request.c:87 hci_req_run_skb net/bluetooth/hci_request.c:99 [inline] __hci_req_sync+0xd9/0x280 net/bluetooth/hci_request.c:212 hci_req_sync+0x49/0x70 net/bluetooth/hci_request.c:279 hci_dev_cmd+0x1b2/0x2c0 net/bluetooth/hci_core.c:2020 hci_sock_ioctl+0x1f6/0x3e0 net/bluetooth/hci_sock.c:1052 sock_do_ioctl+0x38/0x130 net/socket.c:1047 sock_ioctl+0x2f1/0x3e0 net/socket.c:1198 vfs_ioctl fs/ioctl.c:48 [inline] __do_sys_ioctl fs/ioctl.c:753 [inline] __se_sys_ioctl fs/ioctl.c:739 [inline] __x64_sys_ioctl+0x7c/0xb0 fs/ioctl.c:739 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45cce9 Code: 2d b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 0f 83 fb b5 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f9cdc432c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 000000000001d300 RCX: 000000000045cce9 RDX: 0000000020000000 RSI: 00000000400448de RDI: 0000000000000004 RBP: 000000000078bf40 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000078bf0c R13: 00007ffc5fae482f R14: 00007f9cdc4339c0 R15: 000000000078bf0c Modules linked in: CR2: 0000000000000000 ---[ end trace 2c0a0808572ee877 ]--- RIP: 0010:__queue_work+0xda/0x670 kernel/workqueue.c:1434 Code: 03 00 00 44 89 ff e8 25 35 f1 ff 4c 89 ef 89 c6 e8 ab d1 ff ff 48 8b 7d d0 48 89 c3 e8 0f dc ff ff 48 85 c0 0f 84 30 01 00 00 <48> 39 03 0f 85 81 02 00 00 48 89 c7 e8 05 a6 e6 01 8b 43 18 85 c0 RSP: 0018:ffffc9000109bc08 EFLAGS: 00010086 RAX: ffff88812aee2800 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000005 RDI: ffffffff842ec7c0 RBP: ffffc9000109bc40 R08: ffff88812b800050 R09: ffff88812b800000 R10: 0000000000000000 R11: ffffffff842ec808 R12: 0000000000000026 R13: ffff888110c12400 R14: 0000000000000040 R15: 0000000000000001 FS: 00007f9cdc433700(0000) GS:ffff88812c100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000110a92000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400