BUG: sleeping function called from invalid context in slab_pre_alloc_hook BUG: sleeping function called from invalid context at mm/slab.h:498 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 21, name: kworker/u4:1 3 locks held by kworker/u4:1/21: #0: ffff88821b090938 ((wq_completion)qrtr_ns_handler){+.+.}-{0:0}, at: process_one_work+0x6f4/0xfc0 kernel/workqueue.c:2242 #1: ffffc90000dd7d80 ((work_completion)(&qrtr_ns.work)){+.+.}-{0:0}, at: process_one_work+0x733/0xfc0 kernel/workqueue.c:2244 #2: ffffffff894fe550 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:240 Preemption disabled at: [] unwind_next_frame+0xad/0x1e90 arch/x86/kernel/unwind_orc.c:434 CPU: 1 PID: 21 Comm: kworker/u4:1 Not tainted 5.9.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: qrtr_ns_handler qrtr_ns_worker Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1d6/0x29e lib/dump_stack.c:118 ___might_sleep+0x3c0/0x570 kernel/sched/core.c:7299 slab_pre_alloc_hook+0x42/0xe0 mm/slab.h:498 slab_alloc mm/slab.c:3298 [inline] kmem_cache_alloc_trace+0x51/0x2e0 mm/slab.c:3548 kmalloc include/linux/slab.h:554 [inline] kzalloc include/linux/slab.h:666 [inline] node_get net/qrtr/ns.c:80 [inline] ctrl_cmd_bye net/qrtr/ns.c:359 [inline] qrtr_ns_worker+0x23e4/0x4bf0 net/qrtr/ns.c:662 process_one_work+0x789/0xfc0 kernel/workqueue.c:2269 worker_thread+0xaa4/0x1460 kernel/workqueue.c:2415 kthread+0x37e/0x3a0 drivers/block/aoe/aoecmd.c:1234 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 Warning: Permanently added '10.128.10.59' (ECDSA) to the list of known hosts. 2020/09/26 13:37:24 fuzzer started 2020/09/26 13:37:25 connecting to host at 10.128.0.26:43509 2020/09/26 13:37:25 checking machine... 2020/09/26 13:37:25 checking revisions... 2020/09/26 13:37:25 testing simple program... [ 43.803610][ T6808] IPVS: ftp: loaded support on port[0] = 21 2020/09/26 13:37:25 building call list... [ 43.929250][ T26] tipc: TX() has been purged, node left! [ 45.078313][ T21] BUG: sleeping function called from invalid context at mm/slab.h:498 [ 45.088931][ T21] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 21, name: kworker/u4:1 [ 45.100719][ T21] 3 locks held by kworker/u4:1/21: [ 45.124608][ T21] #0: ffff88821b090938 ((wq_completion)qrtr_ns_handler){+.+.}-{0:0}, at: process_one_work+0x6f4/0xfc0 [ 45.144600][ T21] #1: ffffc90000dd7d80 ((work_completion)(&qrtr_ns.work)){+.+.}-{0:0}, at: process_one_work+0x733/0xfc0 [ 45.174511][ T21] #2: ffffffff894fe550 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 [ 45.194515][ T21] Preemption disabled at: [ 45.194533][ T21] [] unwind_next_frame+0xad/0x1e90 [ 45.214531][ T21] CPU: 1 PID: 21 Comm: kworker/u4:1 Not tainted 5.9.0-rc6-syzkaller #0 [ 45.222792][ T21] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 45.232850][ T21] Workqueue: qrtr_ns_handler qrtr_ns_worker [ 45.238731][ T21] Call Trace: [ 45.242013][ T21] dump_stack+0x1d6/0x29e [ 45.246338][ T21] ___might_sleep+0x3c0/0x570 [ 45.251006][ T21] ? unwind_next_frame+0xad/0x1e90 [ 45.256144][ T21] slab_pre_alloc_hook+0x42/0xe0 [ 45.261080][ T21] ? qrtr_ns_worker+0x23e4/0x4bf0 [ 45.266109][ T21] kmem_cache_alloc_trace+0x51/0x2e0 [ 45.271389][ T21] ? radix_tree_lookup+0x1a3/0x1f0 [ 45.276495][ T21] qrtr_ns_worker+0x23e4/0x4bf0 [ 45.281339][ T21] ? __lock_acquire+0x110b/0x2ae0 [ 45.286390][ T21] ? lock_acquire+0x148/0x720 [ 45.291095][ T21] process_one_work+0x789/0xfc0 [ 45.295984][ T21] worker_thread+0xaa4/0x1460 [ 45.300690][ T21] kthread+0x37e/0x3a0 [ 45.304754][ T21] ? rcu_lock_release+0x20/0x20 [ 45.309615][ T21] ? kthread_blkcg+0xd0/0xd0 [ 45.314256][ T21] ret_from_fork+0x1f/0x30 [ 45.360235][ T6794] can: request_module (can-proto-0) failed. [ 45.581876][ T6794] can: request_module (can-proto-0) failed. [ 45.593957][ T6794] can: request_module (can-proto-0) failed.