syzbot


BUG: unable to handle kernel paging request in mcp_smbus_xfer

Status: upstream: reported C repro on 2024/07/26 10:14
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+24b122f8e84c3f9d9d1d@syzkaller.appspotmail.com
First crash: 76d, last: 45d
Fix bisection: failed (error log, bisect log)
  
Bug presence (2)
Date Name Commit Repro Result
2024/07/26 linux-5.15.y (ToT) 7c6d66f0266f C [report] BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/26 upstream (ToT) 2f8c4f506285 C Didn't crash
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 BUG: unable to handle kernel paging request in mcp_smbus_xfer 4 62d 76d 0/3 upstream: reported on 2024/07/26 12:21

Sample crash report:
mcp2221 0003:04D8:00DD.0001: unknown main item tag 0x0
mcp2221 0003:04D8:00DD.0001: unknown main item tag 0x0
mcp2221 0003:04D8:00DD.0001: USB HID v0.00 Device [HID 04d8:00dd] on usb-dummy_hcd.0-1/input0
Unable to handle kernel paging request at virtual address dfff800000000000
Mem abort info:
  ESR = 0x0000000096000006
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x06: level 2 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000006
  CM = 0, WnR = 0
[dfff800000000000] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 1961 Comm: kworker/1:2 Not tainted 5.15.163-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Workqueue: usb_hub_wq hub_event
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : mcp_smbus_xfer+0x64/0xdb0 drivers/hid/hid-mcp2221.c:418
lr : mcp_smbus_xfer+0x44/0xdb0 drivers/hid/hid-mcp2221.c:414
sp : ffff800022515f40
x29: ffff800022515f40 x28: 0000000000000000 x27: dfff800000000000
x26: 1fffe0001abdb436 x25: 0000000000000000 x24: 0000000000000000
x23: 0000000000000000 x22: 0000000000000018 x21: 0000000000000000
x20: 1ffff00002947e30 x19: 0000000000000000 x18: ffff800022515d20
x17: 0000000000000000 x16: ffff800011ab3128 x15: 000000000000c52a
x14: 000000003b0214a6 x13: dfff800000000000 x12: 0000f2f2f2f2f202
x11: 0000000000000000 x10: 0000000000000000 x9 : ffff0000cdf90000
x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
x2 : 0000000000000000 x1 : 0000000000000018 x0 : ffff0000d5eda088
Call trace:
 mcp_smbus_xfer+0x64/0xdb0 drivers/hid/hid-mcp2221.c:418
 __i2c_smbus_xfer+0x570/0x2b70 drivers/i2c/i2c-core-smbus.c:589
 i2c_smbus_xfer+0x210/0x31c drivers/i2c/i2c-core-smbus.c:544
 i2c_default_probe+0x1c0/0x248
 i2c_detect_address drivers/i2c/i2c-core-base.c:2408 [inline]
 i2c_detect drivers/i2c/i2c-core-base.c:2483 [inline]
 i2c_do_add_adapter+0x3c4/0x8d4 drivers/i2c/i2c-core-base.c:1372
 __process_new_adapter+0x28/0x3c drivers/i2c/i2c-core-base.c:1379
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:427
 i2c_register_adapter+0xcc8/0xf8c drivers/i2c/i2c-core-base.c:1542
 i2c_add_adapter+0x170/0x250
 mcp2221_probe+0x240/0x56c drivers/hid/hid-mcp2221.c:882
 hid_device_probe+0x23c/0x338 drivers/hid/hid-core.c:2307
 really_probe+0x26c/0xaec drivers/base/dd.c:595
 __driver_probe_device+0x194/0x3b4 drivers/base/dd.c:755
 driver_probe_device+0x78/0x34c drivers/base/dd.c:785
 __device_attach_driver+0x28c/0x4d8 drivers/base/dd.c:907
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:427
 __device_attach+0x2f0/0x480 drivers/base/dd.c:979
 device_initial_probe+0x24/0x34 drivers/base/dd.c:1028
 bus_probe_device+0xbc/0x1c8 drivers/base/bus.c:487
 device_add+0xae0/0xef4 drivers/base/core.c:3412
 hid_add_device+0x318/0x4b4 drivers/hid/hid-core.c:2459
 usbhid_probe+0x868/0xba8 drivers/hid/usbhid/hid-core.c:1424
 usb_probe_interface+0x500/0x984 drivers/usb/core/driver.c:396
 really_probe+0x26c/0xaec drivers/base/dd.c:595
 __driver_probe_device+0x194/0x3b4 drivers/base/dd.c:755
 driver_probe_device+0x78/0x34c drivers/base/dd.c:785
 __device_attach_driver+0x28c/0x4d8 drivers/base/dd.c:907
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:427
 __device_attach+0x2f0/0x480 drivers/base/dd.c:979
 device_initial_probe+0x24/0x34 drivers/base/dd.c:1028
 bus_probe_device+0xbc/0x1c8 drivers/base/bus.c:487
 device_add+0xae0/0xef4 drivers/base/core.c:3412
 usb_set_configuration+0x15e0/0x1b60 drivers/usb/core/message.c:2165
 usb_generic_driver_probe+0x8c/0x148 drivers/usb/core/generic.c:238
 usb_probe_device+0x120/0x25c drivers/usb/core/driver.c:293
 really_probe+0x26c/0xaec drivers/base/dd.c:595
 __driver_probe_device+0x194/0x3b4 drivers/base/dd.c:755
 driver_probe_device+0x78/0x34c drivers/base/dd.c:785
 __device_attach_driver+0x28c/0x4d8 drivers/base/dd.c:907
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:427
 __device_attach+0x2f0/0x480 drivers/base/dd.c:979
 device_initial_probe+0x24/0x34 drivers/base/dd.c:1028
 bus_probe_device+0xbc/0x1c8 drivers/base/bus.c:487
 device_add+0xae0/0xef4 drivers/base/core.c:3412
 usb_new_device+0x900/0x145c drivers/usb/core/hub.c:2593
 hub_port_connect drivers/usb/core/hub.c:5455 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5595 [inline]
 port_event drivers/usb/core/hub.c:5741 [inline]
 hub_event+0x236c/0x46b8 drivers/usb/core/hub.c:5823
 process_one_work+0x790/0x11b8 kernel/workqueue.c:2310
 worker_thread+0x910/0x1034 kernel/workqueue.c:2457
 kthread+0x37c/0x45c kernel/kthread.c:334
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870
Code: aa1303e0 96502d95 f9400273 d343fe7c (387b6b88) 
---[ end trace 6fd649c9963a3c73 ]---
----------------
Code disassembly (best guess):
   0:	aa1303e0 	mov	x0, x19
   4:	96502d95 	bl	0xfffffffff940b658
   8:	f9400273 	ldr	x19, [x19]
   c:	d343fe7c 	lsr	x28, x19, #3
* 10:	387b6b88 	ldrb	w8, [x28, x27] <-- trapping instruction

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/26 13:27 linux-5.15.y 7c6d66f0266f 3f86dfed .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/26 12:37 linux-5.15.y 7c6d66f0266f 3f86dfed .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/26 11:38 linux-5.15.y 7c6d66f0266f 3f86dfed .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/26 11:08 linux-5.15.y 7c6d66f0266f 3f86dfed .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/08/26 10:54 linux-5.15.y fa93fa65db6e d7d32352 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/27 22:50 linux-5.15.y 7e89efd3ae1c 46eb10b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/26 10:13 linux-5.15.y 7c6d66f0266f 3f86dfed .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
* Struck through repros no longer work on HEAD.