================================================================== BUG: KASAN: null-ptr-deref in mcp2221_raw_event+0xc1f/0x1030 drivers/hid/hid-mcp2221.c:910 Write of size 242 at addr 0000000000000000 by task modprobe/493 CPU: 0 UID: 0 PID: 493 Comm: modprobe Not tainted syzkaller #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 kasan_report+0xe0/0x110 mm/kasan/report.c:595 check_region_inline mm/kasan/generic.c:183 [inline] kasan_check_range+0x100/0x1b0 mm/kasan/generic.c:189 __asan_memcpy+0x3c/0x60 mm/kasan/shadow.c:106 mcp2221_raw_event+0xc1f/0x1030 drivers/hid/hid-mcp2221.c:910 __hid_input_report.constprop.0+0x314/0x450 drivers/hid/hid-core.c:2130 hid_irq_in+0x35e/0x870 drivers/hid/usbhid/hid-core.c:286 __usb_hcd_giveback_urb+0x38b/0x610 drivers/usb/core/hcd.c:1661 usb_hcd_giveback_urb+0x39b/0x450 drivers/usb/core/hcd.c:1745 dummy_timer+0x1814/0x3a30 drivers/usb/gadget/udc/dummy_hcd.c:1995 __run_hrtimer kernel/time/hrtimer.c:1761 [inline] __hrtimer_run_queues+0x1ff/0xad0 kernel/time/hrtimer.c:1825 hrtimer_run_softirq+0x17d/0x350 kernel/time/hrtimer.c:1842 handle_softirqs+0x208/0x8d0 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0xfa/0x160 kernel/softirq.c:680 irq_exit_rcu+0x9/0x30 kernel/softirq.c:696 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0x90/0xb0 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:debug_smp_processor_id+0x0/0x20 lib/smp_processor_id.c:57 Code: e8 c5 24 1f fa e8 40 7c f4 ff 90 65 ff 0d f8 aa 54 05 e9 40 ff ff ff 0f 1f 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1e fa 48 c7 c6 60 63 89 87 48 c7 c7 a0 63 89 87 e9 f9 fe ff RSP: 0000:ffffc90005f7fa70 EFLAGS: 00000283 RAX: 0000000000000000 RBX: ffffffff892c7360 RCX: ffffffff81b42e53 RDX: ffff888124cfd700 RSI: ffffffff81b42c78 RDI: ffffffff892c7360 RBP: ffffea00045789b4 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff81b42c78 R13: 000000000000001c R14: dffffc0000000000 R15: 1ffff92000beff89 rcu_is_watching_curr_cpu include/linux/context_tracking.h:128 [inline] rcu_is_watching+0x12/0xc0 kernel/rcu/tree.c:751 trace_lock_release include/trace/events/lock.h:69 [inline] lock_release+0x201/0x2f0 kernel/locking/lockdep.c:5879 rcu_lock_release include/linux/rcupdate.h:341 [inline] rcu_read_unlock include/linux/rcupdate.h:871 [inline] page_ref_add_unless.constprop.0+0x11d/0x390 include/linux/page_ref.h:239 folio_ref_add_unless include/linux/page_ref.h:248 [inline] folio_try_get include/linux/page_ref.h:264 [inline] next_uptodate_folio+0xac/0x4a0 mm/filemap.c:3605 filemap_map_pages+0x5d7/0x13c0 mm/filemap.c:3789 do_fault_around mm/memory.c:5531 [inline] do_read_fault mm/memory.c:5564 [inline] do_fault mm/memory.c:5707 [inline] do_pte_missing mm/memory.c:4234 [inline] handle_pte_fault mm/memory.c:6052 [inline] __handle_mm_fault+0x1fa5/0x3210 mm/memory.c:6195 handle_mm_fault+0x589/0xd10 mm/memory.c:6364 do_user_addr_fault+0x613/0x1240 arch/x86/mm/fault.c:1336 handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x5c/0xb0 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0033:0x7f81a5a66850 Code: Unable to access opcode bytes at 0x7f81a5a66826. RSP: 002b:00007ffec542ac28 EFLAGS: 00010246 RAX: 0000000000000004 RBX: 00007ffec542ace0 RCX: 00007ffec542ac30 RDX: 00007ffec542ac80 RSI: 00007ffec542b5a8 RDI: 0000000000000004 RBP: 00007ffec542b240 R08: 0000000000000000 R09: 0000000000000001 R10: 000000000000006c R11: 00007ffec542addc R12: 0000000000000000 R13: 00007f81a5c28c3f R14: 00007ffec542b250 R15: 0000000000000000 ================================================================== ---------------- Code disassembly (best guess): 0: e8 c5 24 1f fa call 0xfa1f24ca 5: e8 40 7c f4 ff call 0xfff47c4a a: 90 nop b: 65 ff 0d f8 aa 54 05 decl %gs:0x554aaf8(%rip) # 0x554ab0a 12: e9 40 ff ff ff jmp 0xffffff57 17: 0f 1f 00 nopl (%rax) 1a: 90 nop 1b: 90 nop 1c: 90 nop 1d: 90 nop 1e: 90 nop 1f: 90 nop 20: 90 nop 21: 90 nop 22: 90 nop 23: 90 nop 24: 90 nop 25: 90 nop 26: 90 nop 27: 90 nop 28: 90 nop 29: 90 nop * 2a: f3 0f 1e fa endbr64 <-- trapping instruction 2e: 48 c7 c6 60 63 89 87 mov $0xffffffff87896360,%rsi 35: 48 c7 c7 a0 63 89 87 mov $0xffffffff878963a0,%rdi 3c: e9 .byte 0xe9 3d: f9 stc 3e: fe (bad) 3f: ff .byte 0xff