BUG: sleeping function called from invalid context at kernel/workqueue.c:3039 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 21555, name: systemd-udevd preempt_count: 100, expected: 0 RCU nest depth: 0, expected: 0 2 locks held by systemd-udevd/21555: #0: ffffffff8c3628d8 (tomoyo_ss){....}-{0:0}, at: tomoyo_check_open_permission+0xe8/0x380 security/tomoyo/file.c:761 #1: ffffc90000007d70 ((&dum_hcd->timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:35 [inline] #1: ffffc90000007d70 ((&dum_hcd->timer)){+.-.}-{0:0}, at: call_timer_fn+0xd5/0x6b0 kernel/time/timer.c:1411 irq event stamp: 39897 hardirqs last enabled at (39896): [] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:159 [inline] hardirqs last enabled at (39896): [] _raw_spin_unlock_irq+0x1f/0x40 kernel/locking/spinlock.c:202 hardirqs last disabled at (39897): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline] hardirqs last disabled at (39897): [] _raw_spin_lock_irqsave+0x4e/0x50 kernel/locking/spinlock.c:162 softirqs last enabled at (39644): [] invoke_softirq kernel/softirq.c:432 [inline] softirqs last enabled at (39644): [] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:637 softirqs last disabled at (39893): [] invoke_softirq kernel/softirq.c:432 [inline] softirqs last disabled at (39893): [] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:637 Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:396 [inline] [] __do_softirq+0xe1/0x9c2 kernel/softirq.c:534 CPU: 0 PID: 21555 Comm: systemd-udevd Not tainted 5.16.0-rc4-next-20211208-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 __might_resched.cold+0x222/0x26b kernel/sched/core.c:9583 start_flush_work kernel/workqueue.c:3039 [inline] __flush_work+0x109/0xb10 kernel/workqueue.c:3103 __cancel_work_timer+0x3f9/0x570 kernel/workqueue.c:3191 hci_cmd_sync_cancel net/bluetooth/hci_sync.c:346 [inline] hci_cmd_sync_cancel+0xe1/0x170 net/bluetooth/hci_sync.c:338 btusb_intr_complete+0x3d3/0x4a0 drivers/bluetooth/btusb.c:969 __usb_hcd_giveback_urb+0x2b0/0x5c0 drivers/usb/core/hcd.c:1656 usb_hcd_giveback_urb+0x367/0x410 drivers/usb/core/hcd.c:1726 dummy_timer+0x11f9/0x32b0 drivers/usb/gadget/udc/dummy_hcd.c:1987 call_timer_fn+0x1a5/0x6b0 kernel/time/timer.c:1421 expire_timers kernel/time/timer.c:1466 [inline] __run_timers.part.0+0x675/0xa20 kernel/time/timer.c:1734 __run_timers kernel/time/timer.c:1715 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1747 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:tomoyo_check_acl+0xc1/0x450 security/tomoyo/domain.c:173 Code: 85 71 c9 fd 48 8d 7b 18 48 89 f8 48 89 fa 48 c1 e8 03 83 e2 07 0f b6 04 28 38 d0 7f 08 84 c0 0f 85 f7 02 00 00 44 0f b6 73 18 <31> ff 44 89 f6 e8 35 75 c9 fd 45 84 f6 0f 85 61 01 00 00 e8 47 71 RSP: 0018:ffffc90003257758 EFLAGS: 00000246 RAX: 0000000000000000 RBX: ffff88807f402380 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff83ae71cb RDI: ffff88807f402398 RBP: dffffc0000000000 R08: 000000003ac3e4de R09: 0000000000000000 R10: ffffffff83ae7278 R11: 0000000000000000 R12: ffffc90003257850 R13: ffff88801d42c410 R14: 0000000000000000 R15: 0000000000000000 tomoyo_path_permission security/tomoyo/file.c:586 [inline] tomoyo_path_permission+0x1ff/0x3a0 security/tomoyo/file.c:573 tomoyo_check_open_permission+0x33e/0x380 security/tomoyo/file.c:777 tomoyo_file_open security/tomoyo/tomoyo.c:311 [inline] tomoyo_file_open+0xa3/0xd0 security/tomoyo/tomoyo.c:306 security_file_open+0x45/0xb0 security/security.c:1627 do_dentry_open+0x353/0x1250 fs/open.c:811 do_open fs/namei.c:3476 [inline] path_openat+0x1c9e/0x2940 fs/namei.c:3609 do_filp_open+0x1aa/0x400 fs/namei.c:3636 do_sys_openat2+0x16d/0x4d0 fs/open.c:1214 do_sys_open fs/open.c:1230 [inline] __do_sys_open fs/open.c:1238 [inline] __se_sys_open fs/open.c:1234 [inline] __x64_sys_open+0x119/0x1c0 fs/open.c:1234 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fc0babe06f0 Code: 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 83 3d 19 30 2c 00 00 75 10 b8 02 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 fe 9d 01 00 48 89 04 24 RSP: 002b:00007ffc67507058 EFLAGS: 00000246 ORIG_RAX: 0000000000000002 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc0babe06f0 RDX: 0000000000000180 RSI: 00000000000800c2 RDI: 0000562fb96d4150 RBP: 000000000003a2f8 R08: 000000000000feff R09: 0000000000000030 R10: 0000000000000000 R11: 0000000000000246 R12: 0000562fb96d4165 R13: 8421084210842109 R14: 00000000000800c2 R15: 00007fc0bac6e540 ---------------- Code disassembly (best guess): 0: 85 71 c9 test %esi,-0x37(%rcx) 3: fd std 4: 48 8d 7b 18 lea 0x18(%rbx),%rdi 8: 48 89 f8 mov %rdi,%rax b: 48 89 fa mov %rdi,%rdx e: 48 c1 e8 03 shr $0x3,%rax 12: 83 e2 07 and $0x7,%edx 15: 0f b6 04 28 movzbl (%rax,%rbp,1),%eax 19: 38 d0 cmp %dl,%al 1b: 7f 08 jg 0x25 1d: 84 c0 test %al,%al 1f: 0f 85 f7 02 00 00 jne 0x31c 25: 44 0f b6 73 18 movzbl 0x18(%rbx),%r14d * 2a: 31 ff xor %edi,%edi <-- trapping instruction 2c: 44 89 f6 mov %r14d,%esi 2f: e8 35 75 c9 fd callq 0xfdc97569 34: 45 84 f6 test %r14b,%r14b 37: 0f 85 61 01 00 00 jne 0x19e 3d: e8 .byte 0xe8 3e: 47 rex.RXB 3f: 71 .byte 0x71