syzbot


general protection fault in put_device

Status: upstream: reported C repro on 2021/02/02 09:16
Reported-by: syzbot+3512de0f935d494a45a6@syzkaller.appspotmail.com
First crash: 615d, last: 566d

Cause bisection: introduced by (bisect log) :
commit 4731210c09f5977300f439b6c56ba220c65b2348
Author: Saravana Kannan <saravanak@google.com>
Date: Fri Jan 22 19:35:59 2021 +0000

  gpiolib: Bind gpio_device to a driver to enable fw_devlink=on by default

Crash: BUG: unable to handle kernel NULL pointer dereference in release_nodes (log)
Repro: C syz .config
Patch testing requests:
Created Duration User Patch Repo Result
2022/10/02 04:30 17m linux-next error
2021/04/05 07:06 15m ducheng2@gmail.com upstream OK

Sample crash report:
viperboard 1-1:0.143: version 0.00 found at bus 001 address 002
viperboard-i2c viperboard-i2c.2.auto: failure setting i2c_bus_freq to 100
viperboard-i2c: probe of viperboard-i2c.2.auto failed with error -5
usb 1-1: USB disconnect, device number 2
general protection fault, probably for non-canonical address 0xdffffc00000000b3: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000598-0x000000000000059f]
CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.11.0-rc5-next-20210129-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: usb_hub_wq hub_event
RIP: 0010:__list_del_entry_valid+0x1d/0xf0 lib/list_debug.c:42
Code: 48 8b 34 24 eb b4 0f 1f 80 00 00 00 00 48 b8 00 00 00 00 00 fc ff df 41 55 41 54 55 48 89 fd 48 83 c7 08 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 a0 00 00 00 48 89 ea 4c 8b 65 08 48 b8 00 00 00
RSP: 0018:ffffc90000ca7308 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff88814149e008 RCX: 0000000000000000
RDX: 00000000000000b3 RSI: ffffffff83e19360 RDI: 0000000000000598
RBP: 0000000000000590 R08: 0000000000000001 R09: ffffffff8ef7388f
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000590
R13: 0000000000000598 R14: ffff88814782ff20 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055e1f4df6008 CR3: 0000000016785000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __list_del_entry include/linux/list.h:132 [inline]
 list_del include/linux/list.h:146 [inline]
 gpiodevice_release+0x49/0x250 drivers/gpio/gpiolib.c:477
 device_release+0x9f/0x240 drivers/base/core.c:2055
 kobject_cleanup lib/kobject.c:705 [inline]
 kobject_release lib/kobject.c:736 [inline]
 kref_put include/linux/kref.h:65 [inline]
 kobject_put+0x1c8/0x540 lib/kobject.c:753
 put_device+0x1b/0x30 drivers/base/core.c:3283
 release_nodes+0x49b/0x8f0 drivers/base/devres.c:523
 devres_release_all+0x74/0xd0 drivers/base/devres.c:545
 __device_release_driver+0x3d2/0x6f0 drivers/base/dd.c:1160
 device_release_driver_internal drivers/base/dd.c:1187 [inline]
 device_release_driver+0x26/0x40 drivers/base/dd.c:1210
 bus_remove_device+0x2eb/0x5a0 drivers/base/bus.c:533
 device_del+0x502/0xd40 drivers/base/core.c:3363
 platform_device_del.part.0+0x1f/0x220 drivers/base/platform.c:783
 platform_device_del include/linux/err.h:41 [inline]
 platform_device_unregister+0x38/0x80 drivers/base/platform.c:821
 mfd_remove_devices_fn drivers/mfd/mfd-core.c:375 [inline]
 mfd_remove_devices_fn+0x166/0x1b0 drivers/mfd/mfd-core.c:357
 device_for_each_child_reverse+0x110/0x180 drivers/base/core.c:3526
 mfd_remove_devices+0x75/0xa0 drivers/mfd/mfd-core.c:391
 vprbrd_disconnect+0x43/0xf0 drivers/mfd/viperboard.c:111
 usb_unbind_interface+0x1d8/0x8d0 drivers/usb/core/driver.c:458
 __device_release_driver+0x3bd/0x6f0 drivers/base/dd.c:1156
 device_release_driver_internal drivers/base/dd.c:1187 [inline]
 device_release_driver+0x26/0x40 drivers/base/dd.c:1210
 bus_remove_device+0x2eb/0x5a0 drivers/base/bus.c:533
 device_del+0x502/0xd40 drivers/base/core.c:3363
 usb_disable_device+0x35b/0x7b0 drivers/usb/core/message.c:1413
 usb_disconnect.cold+0x27d/0x780 drivers/usb/core/hub.c:2218
 hub_port_connect drivers/usb/core/hub.c:5074 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5363 [inline]
 port_event drivers/usb/core/hub.c:5509 [inline]
 hub_event+0x1c8a/0x42d0 drivers/usb/core/hub.c:5591
 process_one_work+0x98d/0x15f0 kernel/workqueue.c:2275
 process_scheduled_works kernel/workqueue.c:2337 [inline]
 worker_thread+0x82b/0x1120 kernel/workqueue.c:2423
 kthread+0x3b1/0x4a0 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296
Modules linked in:
---[ end trace c9367f77087536d6 ]---
RIP: 0010:__list_del_entry_valid+0x1d/0xf0 lib/list_debug.c:42
Code: 48 8b 34 24 eb b4 0f 1f 80 00 00 00 00 48 b8 00 00 00 00 00 fc ff df 41 55 41 54 55 48 89 fd 48 83 c7 08 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 a0 00 00 00 48 89 ea 4c 8b 65 08 48 b8 00 00 00
RSP: 0018:ffffc90000ca7308 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff88814149e008 RCX: 0000000000000000
RDX: 00000000000000b3 RSI: ffffffff83e19360 RDI: 0000000000000598
RBP: 0000000000000590 R08: 0000000000000001 R09: ffffffff8ef7388f
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000590
R13: 0000000000000598 R14: ffff88814782ff20 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff7b003f068 CR3: 000000001b33c000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (1868):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-linux-next-kasan-gce-root 2021/01/29 17:23 linux-next b01f250d83f6 6593fd32 .config log report syz C general protection fault in put_device
ci-qemu-upstream 2021/03/19 17:30 upstream 280d542f6ffa 3d01c4de .config log report info general protection fault in put_device
ci-qemu-upstream 2021/03/15 17:50 upstream 280d542f6ffa fdb2bb2c .config log report info general protection fault in put_device
ci-qemu-upstream 2021/03/11 09:44 upstream 280d542f6ffa c2ca1f2a .config log report info general protection fault in put_device
ci-upstream-kasan-gce 2021/03/10 01:50 upstream 144c79ef3353 26967e35 .config log report info general protection fault in put_device
ci-upstream-kasan-gce-selinux-root 2021/03/09 16:33 upstream 144c79ef3353 09fbf400 .config log report info general protection fault in put_device
ci-upstream-kasan-gce-root 2021/03/07 01:01 upstream a38fd8748464 e4b4d570 .config log report info general protection fault in put_device
ci-qemu-upstream-386 2021/03/19 18:34 upstream 280d542f6ffa 3d01c4de .config log report info general protection fault in put_device
ci-qemu-upstream-386 2021/03/15 19:16 upstream 280d542f6ffa fdb2bb2c .config log report info general protection fault in put_device
ci-qemu-upstream-386 2021/03/14 23:48 upstream 280d542f6ffa cc1cff8f .config log report info general protection fault in put_device
ci-qemu-upstream-386 2021/03/13 15:02 upstream 280d542f6ffa 4a003785 .config log report info general protection fault in put_device
ci-upstream-kasan-gce-386 2021/03/08 20:27 upstream 144c79ef3353 09fbf400 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/15 06:39 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/15 06:31 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/15 04:35 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/15 02:32 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/15 01:26 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 22:43 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 20:54 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 cc1cff8f .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 18:38 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 16:17 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 13:39 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 11:45 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 10:34 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 09:06 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 07:01 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 04:57 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 04:18 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 02:42 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/14 01:21 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 23:29 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 22:14 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 21:03 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 20:20 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 19:14 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 17:09 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 13:33 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 11:55 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 10:49 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 09:42 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 08:23 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 07:10 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 4a003785 .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 05:54 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 04:32 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 02:43 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 01:10 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/13 00:02 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/12 21:13 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/12 20:11 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/12 18:46 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/12 17:18 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/12 16:13 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci2-upstream-usb 2021/03/12 14:57 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 14b02f023c09 429d8a6b .config log report info general protection fault in put_device
ci-upstream-linux-next-kasan-gce-root 2021/02/28 23:56 linux-next d01f2f7e3557 4c37c133 .config log report info general protection fault in put_device
ci-upstream-linux-next-kasan-gce-root 2021/01/29 09:11 linux-next b01f250d83f6 6593fd32 .config log report info general protection fault in put_device
* Struck through repros no longer work on HEAD.