* [syzbot] [usb?] WARNING: kobject bug in pch_udc_remove
@ 2026-08-11 12:53 syzbot
2026-08-11 15:09 ` usb: gadget: pch_udc: don't call pch_udc_remove() from the probe error path Vasileios Almpanis
0 siblings, 1 reply; 3+ messages in thread
From: syzbot @ 2026-08-11 12:53 UTC (permalink / raw)
To: dakr, driver-core, gregkh, linux-kernel, linux-usb, rafael,
syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: d58772d8520c Merge tag 'regmap-fix-v7.2-rc7' of git://git...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10996149580000
kernel config: https://syzkaller.appspot.com/x/.config?x=c44651ea7dd2f307
dashboard link: https://syzkaller.appspot.com/bug?extid=3e2e533aa1b2a75525e7
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17bc2a9e580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17293132580000
Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/d900f083ada3/non_bootable_disk-d58772d8.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/caffbd0a7ec1/vmlinux-d58772d8.xz
kernel image: https://storage.googleapis.com/syzbot-assets/686d959b6f96/bzImage-d58772d8.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+3e2e533aa1b2a75525e7@syzkaller.appspotmail.com
pch_udc 0000:00:03.0: pch_udc_probe: request_irq(23) fail
------------[ cut here ]------------
kobject: '(null)' (ffff888035ce0110): is not initialized, yet kobject_put() is being called.
WARNING: lib/kobject.c:734 at kobject_put+0x252/0x640 lib/kobject.c:734, CPU#0: syz.0.17/5908
Modules linked in:
CPU: 0 UID: 0 PID: 5908 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:kobject_put+0x258/0x640 lib/kobject.c:734
Code: 59 f6 48 89 da 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 5e 03 00 00 48 8d 3d de 47 83 05 48 8b 33 48 89 da <67> 48 0f b9 3a e9 0b fe ff ff e8 b9 a8 59 f6 be 03 00 00 00 4c 89
RSP: 0018:ffffc900035b7918 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: ffff888035ce0110 RCX: ffffffff8bb0c8c4
RDX: ffff888035ce0110 RSI: 0000000000000000 RDI: ffffffff91341290
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff888035ce014c
R13: dffffc0000000000 R14: ffff888035ce1978 R15: ffff888035ce0608
FS: 000055558de32500(0000) GS:ffff8880d5dec000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000557c252125d8 CR3: 0000000040736000 CR4: 0000000000352ef0
Call Trace:
<TASK>
put_device+0x1f/0x30 drivers/base/core.c:3880
pch_udc_remove+0x47/0x510 drivers/usb/gadget/udc/pch_udc.c:2986
pch_udc_probe+0xcc6/0x1130 drivers/usb/gadget/udc/pch_udc.c:3109
local_pci_probe+0xdd/0x1b0 drivers/pci/pci-driver.c:332
pci_call_probe+0x176/0x800 drivers/pci/pci-driver.c:394
__pci_device_probe drivers/pci/pci-driver.c:455 [inline]
pci_device_probe+0x1cd/0x370 drivers/pci/pci-driver.c:489
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:706
__driver_probe_device+0x20e/0x450 drivers/base/dd.c:868
device_driver_attach+0xd1/0x220 drivers/base/dd.c:1203
bind_store+0xf4/0x190 drivers/base/bus.c:267
drv_attr_store+0x74/0xb0 drivers/base/bus.c:125
sysfs_kf_write+0xf2/0x150 fs/sysfs/file.c:145
kernfs_fop_write_iter+0x3e0/0x5f0 fs/kernfs/file.c:345
new_sync_write fs/read_write.c:595 [inline]
vfs_write+0x6ac/0x1050 fs/read_write.c:687
ksys_write+0x12a/0x250 fs/read_write.c:739
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x115/0x870 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f60b4b9e0d9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffdce022f28 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f60b4e25fa0 RCX: 00007f60b4b9e0d9
RDX: 000000000000000d RSI: 0000200000000240 RDI: 0000000000000005
RBP: 00007ffdce022f90 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 00007f60b4e25fac R14: 00007f60b4e25fa0 R15: 00007f60b4e25fa0
</TASK>
----------------
Code disassembly (best guess):
0: 59 pop %rcx
1: f6 48 89 da testb $0xda,-0x77(%rax)
5: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
c: fc ff df
f: 48 c1 ea 03 shr $0x3,%rdx
13: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1)
17: 0f 85 5e 03 00 00 jne 0x37b
1d: 48 8d 3d de 47 83 05 lea 0x58347de(%rip),%rdi # 0x5834802
24: 48 8b 33 mov (%rbx),%rsi
27: 48 89 da mov %rbx,%rdx
* 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2f: e9 0b fe ff ff jmp 0xfffffe3f
34: e8 b9 a8 59 f6 call 0xf659a8f2
39: be 03 00 00 00 mov $0x3,%esi
3e: 4c rex.WR
3f: 89 .byte 0x89
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
^ permalink raw reply [flat|nested] 3+ messages in thread
* usb: gadget: pch_udc: don't call pch_udc_remove() from the probe error path
2026-08-11 12:53 [syzbot] [usb?] WARNING: kobject bug in pch_udc_remove syzbot
@ 2026-08-11 15:09 ` Vasileios Almpanis
2026-08-11 15:43 ` [syzbot] [usb?] WARNING: kobject bug in pch_udc_remove syzbot
0 siblings, 1 reply; 3+ messages in thread
From: Vasileios Almpanis @ 2026-08-11 15:09 UTC (permalink / raw)
To: syzbot+3e2e533aa1b2a75525e7; +Cc: linux-kernel, syzkaller-bugs
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d58772d8520c7ef247c4b95c9bd76d3a25da9ff5
diff --git a/drivers/usb/gadget/udc/pch_udc.c b/drivers/usb/gadget/udc/pch_udc.c
index 0a6886428739..5704aff2b09b 100644
--- a/drivers/usb/gadget/udc/pch_udc.c
+++ b/drivers/usb/gadget/udc/pch_udc.c
@@ -2979,16 +2979,8 @@ static void pch_udc_shutdown(struct pci_dev *pdev)
pch_udc_set_disconnect(dev);
}
-static void pch_udc_remove(struct pci_dev *pdev)
+static void pch_udc_cleanup(struct pch_udc_dev *dev)
{
- struct pch_udc_dev *dev = pci_get_drvdata(pdev);
-
- usb_del_gadget_udc(&dev->gadget);
-
- /* gadget driver must not be registered */
- if (dev->driver)
- dev_err(&pdev->dev,
- "%s: gadget driver still bound!!!\n", __func__);
/* dma pool cleanup */
dma_pool_destroy(dev->data_requests);
@@ -3016,6 +3008,20 @@ static void pch_udc_remove(struct pci_dev *pdev)
pch_udc_exit(dev);
}
+static void pch_udc_remove(struct pci_dev *pdev)
+{
+ struct pch_udc_dev *dev = pci_get_drvdata(pdev);
+
+ usb_del_gadget_udc(&dev->gadget);
+
+ /* gadget driver must not be registered */
+ if (dev->driver)
+ dev_err(&pdev->dev,
+ "%s: gadget driver still bound!!!\n", __func__);
+
+ pch_udc_cleanup(dev);
+}
+
static int __maybe_unused pch_udc_suspend(struct device *d)
{
struct pch_udc_dev *dev = dev_get_drvdata(d);
@@ -3106,7 +3112,7 @@ static int pch_udc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
return 0;
finished:
- pch_udc_remove(pdev);
+ pch_udc_cleanup(dev);
return retval;
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [syzbot] [usb?] WARNING: kobject bug in pch_udc_remove
2026-08-11 15:09 ` usb: gadget: pch_udc: don't call pch_udc_remove() from the probe error path Vasileios Almpanis
@ 2026-08-11 15:43 ` syzbot
0 siblings, 0 replies; 3+ messages in thread
From: syzbot @ 2026-08-11 15:43 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs, vasilisalmpanis
Hello,
syzbot has tested the proposed patch and the reproducer did not trigger any issue:
Reported-by: syzbot+3e2e533aa1b2a75525e7@syzkaller.appspotmail.com
Tested-by: syzbot+3e2e533aa1b2a75525e7@syzkaller.appspotmail.com
Tested on:
commit: d58772d8 Merge tag 'regmap-fix-v7.2-rc7' of git://git...
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=17712a9e580000
kernel config: https://syzkaller.appspot.com/x/.config?x=c44651ea7dd2f307
dashboard link: https://syzkaller.appspot.com/bug?extid=3e2e533aa1b2a75525e7
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
patch: https://syzkaller.appspot.com/x/patch.diff?x=13be2a9e580000
Note: testing is done by a robot and is best-effort only.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-11 15:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 12:53 [syzbot] [usb?] WARNING: kobject bug in pch_udc_remove syzbot
2026-08-11 15:09 ` usb: gadget: pch_udc: don't call pch_udc_remove() from the probe error path Vasileios Almpanis
2026-08-11 15:43 ` [syzbot] [usb?] WARNING: kobject bug in pch_udc_remove syzbot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.