On Fri, Aug 07, 2020 at 12:07:16AM -0700, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit: fffe3ae0 Merge tag 'for-linus-hmm' of git://git.kernel.org.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=12b22fda900000 > kernel config: https://syzkaller.appspot.com/x/.config?x=226c7a97d80bec54 > dashboard link: https://syzkaller.appspot.com/bug?extid=bb9cb5f2cd814f87212a > compiler: clang version 10.0.0 (https://github.com/llvm/llvm-project/ c2443155a0fb245c8f17f2c1c72b6ea391e86e81) > > Unfortunately, I don't have any reproducer for this issue yet. > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+bb9cb5f2cd814f87212a@xxxxxxxxxxxxxxxxxxxxxxxxx > > xpad 3-1:0.65: xpad_irq_in - usb_submit_urb failed with result -19 > xpad 3-1:0.65: xpad_irq_out - usb_submit_urb failed with result -19 > ================================================================== > BUG: KASAN: use-after-free in register_lock_class+0x12a8/0x1520 kernel/locking/lockdep.c:1250 > Read of size 2 at addr ffff8880a1f5c092 by task systemd-udevd/1571 > > CPU: 0 PID: 1571 Comm: systemd-udevd Not tainted 5.8.0-syzkaller #0 > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 > Call Trace: > <IRQ> > __dump_stack lib/dump_stack.c:77 [inline] > dump_stack+0x1f0/0x31e lib/dump_stack.c:118 > print_address_description+0x66/0x5a0 mm/kasan/report.c:383 > __kasan_report mm/kasan/report.c:513 [inline] > kasan_report+0x132/0x1d0 mm/kasan/report.c:530 > register_lock_class+0x12a8/0x1520 kernel/locking/lockdep.c:1250 > __lock_acquire+0xfa/0x2ab0 kernel/locking/lockdep.c:4305 > lock_acquire+0x160/0x730 kernel/locking/lockdep.c:5005 > __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] > _raw_spin_lock_irqsave+0x9e/0xc0 kernel/locking/spinlock.c:159 > __wake_up_common_lock kernel/sched/wait.c:122 [inline] > __wake_up+0xb8/0x150 kernel/sched/wait.c:142 > __usb_hcd_giveback_urb+0x340/0x4b0 drivers/usb/core/hcd.c:1653 It looks like xpad_disconnect() fails to call xpad_stop_input() if the hardware isn't an Xbox 360W. Alan Stern