syzbot


BUG: unable to handle kernel paging request in mcp_smbus_xfer

Status: upstream: reported C repro on 2024/07/26 12:21
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+40dc62a33c759a65ad44@syzkaller.appspotmail.com
First crash: 185d, last: 5d03h
Fix commit to backport (bisect log) :
tree: upstream
commit f2d4a5834638bbc967371b9168c0b481519f7c5e
Author: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Date: Wed Oct 25 03:55:10 2023 +0000

  HID: mcp2221: Set driver data before I2C adapter add

  
Bug presence (2)
Date Name Commit Repro Result
2024/11/16 linux-6.1.y (ToT) 59d7b1a7104a C [report] BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/11/16 upstream (ToT) e8bdb3c8be08 C Didn't crash
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 BUG: unable to handle kernel paging request in mcp_smbus_xfer origin:lts-only C error 18 5d05h 185d 0/3 upstream: reported C repro on 2024/07/26 10:14
Fix bisection attempts (1)
Created Duration User Patch Repo Result
2024/11/20 17:48 7h06m fix candidate upstream OK (1) job log

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.05 Device [HID 04d8:00dd] on usb-dummy_hcd.0-1/input0
Unable to handle kernel paging request at virtual address dfff800000000000
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
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: 0 PID: 14 Comm: kworker/0:1 Not tainted 6.1.117-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Workqueue: usb_hub_wq hub_event
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : mcp_smbus_xfer+0x64/0xf4c drivers/hid/hid-mcp2221.c:418
lr : mcp_smbus_xfer+0x44/0xf4c drivers/hid/hid-mcp2221.c:414
sp : ffff80001d165ee0
x29: ffff80001d165ee0 x28: 0000000000000000 x27: dfff800000000000
x26: 1fffe0001bc7d436 x25: 0000000000000000 x24: 0000000000000000
x23: 0000000000000000 x22: 0000000000000018 x21: 0000000000000000
x20: 1ffff00002b29e40 x19: 0000000000000000 x18: ffff80001d165ce0
x17: ffff800018aab000 x16: ffff8000122959bc x15: ffff80001858bf80
x14: 0000000093d92a15 x13: dfff800000000000 x12: 0000f2f2f2f2f202
x11: 0000000000ff0100 x10: 0000000000000000 x9 : ffff80000fa0971c
x8 : 0000000000000000 x7 : 1111111111111111 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
x2 : 0000000000000000 x1 : 0000000000000018 x0 : ffff0000de3ea088
Call trace:
 mcp_smbus_xfer+0x64/0xf4c drivers/hid/hid-mcp2221.c:418
 __i2c_smbus_xfer+0x5b4/0x2dc8 drivers/i2c/i2c-core-smbus.c:590
 i2c_smbus_xfer+0x210/0x31c drivers/i2c/i2c-core-smbus.c:545
 i2c_default_probe+0x1c0/0x248
 i2c_detect_address drivers/i2c/i2c-core-base.c:2469 [inline]
 i2c_detect drivers/i2c/i2c-core-base.c:2544 [inline]
 i2c_do_add_adapter+0x3c4/0x8d4 drivers/i2c/i2c-core-base.c:1424
 __process_new_adapter+0x28/0x3c drivers/i2c/i2c-core-base.c:1431
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:429
 i2c_register_adapter+0xde0/0x10e0 drivers/i2c/i2c-core-base.c:1597
 i2c_add_adapter+0x170/0x250
 mcp2221_probe+0x240/0x56c drivers/hid/hid-mcp2221.c:882
 hid_device_probe+0x238/0x328 drivers/hid/hid-core.c:2630
 really_probe+0x394/0xacc drivers/base/dd.c:639
 __driver_probe_device+0x194/0x3b4 drivers/base/dd.c:785
 driver_probe_device+0x78/0x330 drivers/base/dd.c:815
 __device_attach_driver+0x2a8/0x4f4 drivers/base/dd.c:943
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:429
 __device_attach+0x2f0/0x480 drivers/base/dd.c:1015
 device_initial_probe+0x24/0x34 drivers/base/dd.c:1064
 bus_probe_device+0xbc/0x1c8 drivers/base/bus.c:489
 device_add+0xae0/0xef4 drivers/base/core.c:3689
 hid_add_device+0x318/0x4a8 drivers/hid/hid-core.c:2782
 usbhid_probe+0x864/0xba4 drivers/hid/usbhid/hid-core.c:1424
 usb_probe_interface+0x500/0x984 drivers/usb/core/driver.c:396
 really_probe+0x394/0xacc drivers/base/dd.c:639
 __driver_probe_device+0x194/0x3b4 drivers/base/dd.c:785
 driver_probe_device+0x78/0x330 drivers/base/dd.c:815
 __device_attach_driver+0x2a8/0x4f4 drivers/base/dd.c:943
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:429
 __device_attach+0x2f0/0x480 drivers/base/dd.c:1015
 device_initial_probe+0x24/0x34 drivers/base/dd.c:1064
 bus_probe_device+0xbc/0x1c8 drivers/base/bus.c:489
 device_add+0xae0/0xef4 drivers/base/core.c:3689
 usb_set_configuration+0x15c0/0x1b40 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+0x394/0xacc drivers/base/dd.c:639
 __driver_probe_device+0x194/0x3b4 drivers/base/dd.c:785
 driver_probe_device+0x78/0x330 drivers/base/dd.c:815
 __device_attach_driver+0x2a8/0x4f4 drivers/base/dd.c:943
 bus_for_each_drv+0x158/0x1e0 drivers/base/bus.c:429
 __device_attach+0x2f0/0x480 drivers/base/dd.c:1015
 device_initial_probe+0x24/0x34 drivers/base/dd.c:1064
 bus_probe_device+0xbc/0x1c8 drivers/base/bus.c:489
 device_add+0xae0/0xef4 drivers/base/core.c:3689
 usb_new_device+0x908/0x1440 drivers/usb/core/hub.c:2620
 hub_port_connect drivers/usb/core/hub.c:5477 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5617 [inline]
 port_event drivers/usb/core/hub.c:5773 [inline]
 hub_event+0x243c/0x42e4 drivers/usb/core/hub.c:5855
 process_one_work+0x7ac/0x1404 kernel/workqueue.c:2292
 worker_thread+0x8e4/0xfec kernel/workqueue.c:2439
 kthread+0x250/0x2d8 kernel/kthread.c:376
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:864
Code: aa1303e0 963dab4d f9400273 d343fe7c (387b6b88) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	aa1303e0 	mov	x0, x19
   4:	963dab4d 	bl	0xfffffffff8f6ad38
   8:	f9400273 	ldr	x19, [x19]
   c:	d343fe7c 	lsr	x28, x19, #3
* 10:	387b6b88 	ldrb	w8, [x28, x27] <-- trapping instruction

Crashes (26):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/11/15 03:13 linux-6.1.y 59d7b1a7104a a8c99394 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/23 00:56 linux-6.1.y f4f677285b38 a44b0418 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/23 00:56 linux-6.1.y f4f677285b38 a44b0418 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/18 00:05 linux-6.1.y 60ceadf9247e 953d1c45 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/17 23:44 linux-6.1.y 60ceadf9247e 953d1c45 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/17 03:42 linux-6.1.y c63962be84ef f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/16 23:19 linux-6.1.y c63962be84ef f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/15 14:04 linux-6.1.y c63962be84ef 7315a7cf .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/13 22:29 linux-6.1.y c63962be84ef 249ceea9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2025/01/10 12:58 linux-6.1.y c63962be84ef 67d7ec0a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/29 02:48 linux-6.1.y 563edd786f0a d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/29 02:45 linux-6.1.y 563edd786f0a d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/26 03:22 linux-6.1.y 29f02ec58a94 444551c4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/25 08:19 linux-6.1.y 29f02ec58a94 444551c4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/20 13:39 linux-6.1.y 29f02ec58a94 0f61b415 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/09 07:44 linux-6.1.y e4d90d63d385 9ac0fdc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/12/09 07:42 linux-6.1.y e4d90d63d385 9ac0fdc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/11/30 13:01 linux-6.1.y e4d90d63d385 68914665 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/11/30 10:58 linux-6.1.y e4d90d63d385 68914665 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/11/20 00:34 linux-6.1.y b67dc5c9ade9 7d02db5a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/11/15 00:07 linux-6.1.y 59d7b1a7104a a8c99394 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/10/20 14:49 linux-6.1.y 54d90d17e8ce cd6fc0a3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/08/09 04:17 linux-6.1.y 48d525b0e463 61405512 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/27 00:55 linux-6.1.y c18e82d3ee44 46eb10b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/27 00:54 linux-6.1.y c18e82d3ee44 46eb10b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
2024/07/26 12:21 linux-6.1.y c18e82d3ee44 3f86dfed .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in mcp_smbus_xfer
* Struck through repros no longer work on HEAD.