Re: [syzbot] [input?] WARNING in bcm5974_start_traffic/usb_submit_urb (2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/15/24 03:54, syzbot wrote:
> Hello,
> 
> syzbot found the following issue on:
> 
> HEAD commit:    fec50db7033e Linux 6.9-rc3
> git tree:       git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
> console output: https://syzkaller.appspot.com/x/log.txt?x=14439bd3180000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=560f5db1d0b3f6d0
> dashboard link: https://syzkaller.appspot.com/bug?extid=b064b5599f18f7ebb1e1
> compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> userspace arch: arm64
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=11c2c5bd180000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=13cbbf5b180000
> 
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/ab4d6cae2eca/disk-fec50db7.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/b67542cc5860/vmlinux-fec50db7.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/3eeebb470b79/Image-fec50db7.gz.xz
> 
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+b064b5599f18f7ebb1e1@xxxxxxxxxxxxxxxxxxxxxxxxx
> 
> ------------[ cut here ]------------
> usb 1-1: BOGUS urb xfer, pipe 1 != type 3
> WARNING: CPU: 0 PID: 6237 at drivers/usb/core/urb.c:504 usb_submit_urb+0xa00/0x1434 drivers/usb/core/urb.c:503
> Modules linked in:
> CPU: 0 PID: 6237 Comm: udevd Not tainted 6.9.0-rc3-syzkaller-gfec50db7033e #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
> pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : usb_submit_urb+0xa00/0x1434 drivers/usb/core/urb.c:503
> lr : usb_submit_urb+0xa00/0x1434 drivers/usb/core/urb.c:503
> sp : ffff80009f8b73b0
> x29: ffff80009f8b73f0 x28: ffff0000d4fee000 x27: 0000000000000001
> x26: ffff80008c6919e8 x25: ffff0000c8bd1fe0 x24: ffff0000c1d45a50
> x23: ffff80008c698500 x22: dfff800000000000 x21: 0000000000000002
> x20: 0000000000000cc0 x19: ffff0000c1d45a00 x18: 0000000000000008
> x17: 0000000000000000 x16: ffff80008ae6d1bc x15: 0000000000000001
> x14: 1fffe000367b9a02 x13: 0000000000000000 x12: 0000000000000000
> x11: 0000000000000002 x10: 0000000000ff0100 x9 : b1573c5f9bab7600
> x8 : b1573c5f9bab7600 x7 : 0000000000000001 x6 : 0000000000000001
> x5 : ffff80009f8b6b18 x4 : ffff80008ef65000 x3 : ffff8000805e9200
> x2 : 0000000000000001 x1 : 0000000100000000 x0 : 0000000000000000
> Call trace:
>  usb_submit_urb+0xa00/0x1434 drivers/usb/core/urb.c:503
>  bcm5974_start_traffic+0xe0/0x154 drivers/input/mouse/bcm5974.c:799
>  bcm5974_open+0x98/0x134 drivers/input/mouse/bcm5974.c:839
>  input_open_device+0x170/0x29c drivers/input/input.c:654
>  evdev_open_device drivers/input/evdev.c:400 [inline]
>  evdev_open+0x308/0x4b4 drivers/input/evdev.c:487
>  chrdev_open+0x3c8/0x4dc fs/char_dev.c:414
>  do_dentry_open+0x778/0x12b4 fs/open.c:955
>  vfs_open+0x7c/0x90 fs/open.c:1089
>  do_open fs/namei.c:3642 [inline]
>  path_openat+0x1f6c/0x2830 fs/namei.c:3799
>  do_filp_open+0x1bc/0x3cc fs/namei.c:3826
>  do_sys_openat2+0x124/0x1b8 fs/open.c:1406
>  do_sys_open fs/open.c:1421 [inline]
>  __do_sys_openat fs/open.c:1437 [inline]
>  __se_sys_openat fs/open.c:1432 [inline]
>  __arm64_sys_openat+0x1f0/0x240 fs/open.c:1432
>  __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline]
>  invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48
>  el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133
>  do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152
>  el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
>  el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
>  el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598
> irq event stamp: 5626
> hardirqs last  enabled at (5625): [<ffff8000803749b0>] __up_console_sem kernel/printk/printk.c:341 [inline]
> hardirqs last  enabled at (5625): [<ffff8000803749b0>] __console_unlock kernel/printk/printk.c:2731 [inline]
> hardirqs last  enabled at (5625): [<ffff8000803749b0>] console_unlock+0x17c/0x3d4 kernel/printk/printk.c:3050
> hardirqs last disabled at (5626): [<ffff80008ae68608>] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:470
> softirqs last  enabled at (2362): [<ffff800080031848>] local_bh_enable+0x10/0x34 include/linux/bottom_half.h:32
> softirqs last disabled at (2360): [<ffff800080031814>] local_bh_disable+0x10/0x34 include/linux/bottom_half.h:19
> ---[ end trace 0000000000000000 ]---
> 
> 
> ---
> 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@xxxxxxxxxxxxxxxx.
> 
> 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
> 

This is a known bug in the bcm5974 driver that was fixed with commit
2b9c3eb32a69 ("Input: bcm5974 - check endpoint type before starting
traffic").

The fix had to be reverted due to a more severe bug that was hidden by
this one and caused a regression: the driver makes use of endpoints that
belong to interfaces it did not bind to (see discussion here [1]). In a
nutshell, any check to make sure that the endpoint belongs to a bound
interface will fail.

In order to apply the fix for the bug syzbot found again, the
inteface/endpoint issue must be solved first, making sure that the
driver binds to the right interfaces.

Link: https://lore.kernel.org/87sf161jjc.wl-tiwai@xxxxxxx/ [1]

Best regards,
Javier Carrasco




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux