================================ WARNING: inconsistent lock state syzkaller #0 Tainted: G L -------------------------------- inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. syz.9.4337/23050 [HC0[0]:SC0[0]:HE1:SE1] takes: ffff88806acee068 (&ccp->wait_input_report_lock){+.?.}-{3:3}, at: spin_lock include/linux/spinlock.h:347 [inline] ffff88806acee068 (&ccp->wait_input_report_lock){+.?.}-{3:3}, at: ccp_raw_event+0x51/0x110 drivers/hwmon/corsair-cpro.c:161 {IN-SOFTIRQ-W} state was registered at: lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942 __raw_spin_lock include/linux/spinlock_api_smp.h:190 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173 spin_lock include/linux/spinlock.h:347 [inline] ccp_raw_event+0x51/0x110 drivers/hwmon/corsair-cpro.c:161 __hid_input_report+0x41c/0x580 drivers/hid/hid-core.c:2175 hid_irq_in+0x492/0x710 drivers/hid/usbhid/hid-core.c:287 __usb_hcd_giveback_urb+0x378/0x540 drivers/usb/core/hcd.c:1657 dummy_timer+0xa91/0x4cc0 drivers/usb/gadget/udc/dummy_hcd.c:2023 __run_hrtimer kernel/time/hrtimer.c:2074 [inline] __hrtimer_run_queues+0x3bc/0xa10 kernel/time/hrtimer.c:2131 hrtimer_run_softirq+0x1e3/0x2e0 kernel/time/hrtimer.c:2148 handle_softirqs+0x226/0x860 kernel/softirq.c:645 __do_softirq kernel/softirq.c:679 [inline] invoke_softirq kernel/softirq.c:519 [inline] __irq_exit_rcu+0xcb/0x220 kernel/softirq.c:758 irq_exit_rcu+0x9/0x30 kernel/softirq.c:775 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674 __read_once_word_nocheck+0x0/0x10 arch/x86/kernel/unwind_orc.c:-1 deref_stack_reg arch/x86/kernel/unwind_orc.c:422 [inline] unwind_next_frame+0xca5/0x2550 arch/x86/kernel/unwind_orc.c:614 __unwind_start+0x514/0x660 arch/x86/kernel/unwind_orc.c:787 unwind_start arch/x86/include/asm/unwind.h:64 [inline] arch_stack_walk+0xe3/0x150 arch/x86/kernel/stacktrace.c:24 stack_trace_save+0xa9/0x100 kernel/stacktrace.c:122 kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:78 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:264 [inline] __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:296 kasan_slab_free include/linux/kasan.h:235 [inline] slab_free_hook mm/slub.c:2748 [inline] slab_free mm/slub.c:6509 [inline] kmem_cache_free+0x182/0x650 mm/slub.c:6636 nsim_dev_trap_report drivers/net/netdevsim/dev.c:817 [inline] nsim_dev_trap_report_work+0x7ac/0xb40 drivers/net/netdevsim/dev.c:847 process_one_work kernel/workqueue.c:3396 [inline] process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3479 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3560 kthread+0x38b/0x480 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 irq event stamp: 45 hardirqs last enabled at (45): [] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:210 [inline] hardirqs last enabled at (45): [] _raw_spin_unlock_irqrestore+0x30/0x80 kernel/locking/spinlock.c:221 hardirqs last disabled at (44): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:153 [inline] hardirqs last disabled at (44): [] _raw_spin_lock_irqsave+0x1a/0x60 kernel/locking/spinlock.c:181 softirqs last enabled at (0): [] rcu_lock_acquire include/linux/rcupdate.h:309 [inline] softirqs last enabled at (0): [] rcu_read_lock include/linux/rcupdate.h:849 [inline] softirqs last enabled at (0): [] copy_process+0xd16/0x4400 kernel/fork.c:2180 softirqs last disabled at (0): [<0000000000000000>] 0x0 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&ccp->wait_input_report_lock); lock(&ccp->wait_input_report_lock); *** DEADLOCK *** locks held by syz.9.4337/23050: 1, last CPU#1: #0: ffff888060558060 (&uhid->devlock){+.+.}-{4:4}, at: uhid_char_write+0x7a/0xc90 drivers/hid/uhid.c:731 stack backtrace: CPU: 1 UID: 0 PID: 23050 Comm: syz.9.4337 Tainted: G L syzkaller #0 PREEMPT(full) Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026 Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_usage_bug+0x28c/0x2e0 kernel/locking/lockdep.c:4086 valid_state+0xbe/0xf0 kernel/locking/lockdep.c:4100 mark_lock_irq+0x36/0x380 kernel/locking/lockdep.c:4311 mark_lock+0x117/0x190 kernel/locking/lockdep.c:4797 mark_usage kernel/locking/lockdep.c:-1 [inline] __lock_acquire+0xaab/0x2de0 kernel/locking/lockdep.c:5242 lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942 __raw_spin_lock include/linux/spinlock_api_smp.h:190 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173 spin_lock include/linux/spinlock.h:347 [inline] ccp_raw_event+0x51/0x110 drivers/hwmon/corsair-cpro.c:161 __hid_input_report+0x41c/0x580 drivers/hid/hid-core.c:2175 uhid_dev_input2+0xbc/0x150 drivers/hid/uhid.c:609 uhid_char_write+0x4a1/0xc90 drivers/hid/uhid.c:767 vfs_write+0x296/0xba0 fs/read_write.c:685 ksys_write+0x150/0x270 fs/read_write.c:739 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline] do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f88c379e199 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 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 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f88c19d5028 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f88c3a26180 RCX: 00007f88c379e199 RDX: 0000000000000008 RSI: 0000200000000600 RDI: 000000000000000a RBP: 00007f88c38358e0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f88c3a26218 R14: 00007f88c3a26180 R15: 00007f88c3b4fa48