syzbot


BUG: unable to handle kernel NULL pointer dereference in idr_get_free

Status: closed as invalid on 2020/05/29 21:04
Subsystems: kernfs
[Documentation on labels]
First crash: 1465d, last: 1465d

Sample crash report:
usb 5-1: New USB device found, idVendor=05ac, idProduct=0222, bcdDevice= 0.40
usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-1: Product: syz
usb 5-1: Manufacturer: syz
usb 5-1: SerialNumber: syz
BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 1cf884067 P4D 1cf884067 PUD 1cea97067 PMD 0 
Oops: 0000 [#1] SMP KASAN
CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.6.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: usb_hub_wq hub_event
RIP: 0010:__read_once_size include/linux/compiler.h:199 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x42/0x60 kernel/kcov.c:202
Code: 34 24 74 0e 80 e6 01 74 34 80 b8 d4 12 00 00 00 74 2b 8b 90 b0 12 00 00 83 fa 02 75 20 48 8b 88 b8 12 00 00 8b 80 b4 12 00 00 <48> 8b 11 48 83 c2 01 48 39 d0 76 07 48 89 34 d1 48 89 11 c3 66 2e
RSP: 0018:ffff8881da226ee8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8881a8094580 RCX: 0000000000000000
RDX: 0000000000000002 RSI: ffffffff858a4c2a RDI: 0000000000000001
RBP: ffff8881ab61fc82 R08: ffff8881da211880 R09: ffffed10350128f6
R10: ffffed10350128f5 R11: ffff8881a80947af R12: 0000000000000034
R13: dffffc0000000000 R14: ffff8881a8094748 R15: 0000000000000006
FS:  0000000000000000(0000) GS:ffff8881db200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000001c9cde000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 idr_get_free+0x20a/0x8e0 lib/radix-tree.c:1511
 idr_alloc_u32+0x170/0x2d0 lib/idr.c:46
 idr_alloc_cyclic+0x102/0x220 lib/idr.c:125
 __kernfs_new_node+0x117/0x660 fs/kernfs/dir.c:633
 kernfs_new_node+0x93/0x120 fs/kernfs/dir.c:689
 kernfs_create_link+0xcb/0x230 fs/kernfs/symlink.c:39
 sysfs_do_create_link_sd.isra.0+0x8b/0x130 fs/sysfs/symlink.c:44
 sysfs_do_create_link fs/sysfs/symlink.c:80 [inline]
 sysfs_create_link+0x61/0xc0 fs/sysfs/symlink.c:92
 driver_sysfs_add+0x179/0x340 drivers/base/dd.c:421
 really_probe+0x196/0xac0 drivers/base/dd.c:538
 driver_probe_device+0x223/0x350 drivers/base/dd.c:724
 __device_attach_driver+0x1d1/0x290 drivers/base/dd.c:831
 bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
 __device_attach+0x217/0x390 drivers/base/dd.c:897
 bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
 device_add+0x1459/0x1bf0 drivers/base/core.c:2500
 usb_set_configuration+0xe47/0x17d0 drivers/usb/core/message.c:2023
 usb_generic_driver_probe+0x9d/0xe0 drivers/usb/core/generic.c:241
 usb_probe_device+0xd9/0x230 drivers/usb/core/driver.c:272
 really_probe+0x290/0xac0 drivers/base/dd.c:551
 driver_probe_device+0x223/0x350 drivers/base/dd.c:724
 __device_attach_driver+0x1d1/0x290 drivers/base/dd.c:831
 bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
 __device_attach+0x217/0x390 drivers/base/dd.c:897
 bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
 device_add+0x1459/0x1bf0 drivers/base/core.c:2500
 usb_new_device.cold+0x540/0xcd0 drivers/usb/core/hub.c:2548
 hub_port_connect drivers/usb/core/hub.c:5195 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5335 [inline]
 port_event drivers/usb/core/hub.c:5481 [inline]
 hub_event+0x21cb/0x4300 drivers/usb/core/hub.c:5563
 process_one_work+0x94b/0x1620 kernel/workqueue.c:2264
 worker_thread+0x96/0xe20 kernel/workqueue.c:2410
 kthread+0x318/0x420 kernel/kthread.c:255
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352
Modules linked in:
CR2: 0000000000000000
---[ end trace 0733e3ff98c41725 ]---
RIP: 0010:__read_once_size include/linux/compiler.h:199 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x42/0x60 kernel/kcov.c:202
Code: 34 24 74 0e 80 e6 01 74 34 80 b8 d4 12 00 00 00 74 2b 8b 90 b0 12 00 00 83 fa 02 75 20 48 8b 88 b8 12 00 00 8b 80 b4 12 00 00 <48> 8b 11 48 83 c2 01 48 39 d0 76 07 48 89 34 d1 48 89 11 c3 66 2e
RSP: 0018:ffff8881da226ee8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8881a8094580 RCX: 0000000000000000
RDX: 0000000000000002 RSI: ffffffff858a4c2a RDI: 0000000000000001
RBP: ffff8881ab61fc82 R08: ffff8881da211880 R09: ffffed10350128f6
R10: ffffed10350128f5 R11: ffff8881a80947af R12: 0000000000000034
R13: dffffc0000000000 R14: ffff8881a8094748 R15: 0000000000000006
FS:  0000000000000000(0000) GS:ffff8881db200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000001c9cde000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/03/24 18:16 https://github.com/google/kasan.git usb-fuzzer e17994d1e7b1 68660b21 .config console log report ci2-upstream-usb
* Struck through repros no longer work on HEAD.