On Sat, Jun 12, 2021 at 08:59:26AM +0200, Greg KH wrote: > On Fri, Jun 11, 2021 at 01:02:23PM -0700, syzbot wrote: > > Hello, > > > > syzbot found the following issue on: > > > > HEAD commit: 614124be Linux 5.13-rc5 > > git tree: upstream > > console output: https://syzkaller.appspot.com/x/log.txt?x=12188667d00000 > > kernel config: https://syzkaller.appspot.com/x/.config?x=547a5e42ca601229 > > dashboard link: https://syzkaller.appspot.com/bug?extid=5f29dc6a889fc42bd896 > > compiler: Debian clang version 11.0.1-2 > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1687ec3fd00000 > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=172f44ffd00000 > > > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > > Reported-by: syzbot+5f29dc6a889fc42bd896@xxxxxxxxxxxxxxxxxxxxxxxxx > > > > usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 > > usb 1-1: config 0 descriptor?? > > ------------[ cut here ]------------ > > usb 1-1: BOGUS urb xfer, pipe 1 != type 3 > > WARNING: CPU: 1 PID: 20 at drivers/usb/core/urb.c:494 usb_submit_urb+0xacd/0x1550 drivers/usb/core/urb.c:493 > > Looks correct to me, you did not create a valid USB device for the > system to use :) The problem is that vmk80xx_write_packet submits an interrupt URB to the ep_tx endpoint, but vmk80xx_find_usb_endpoints will set ep_tx to the first OUT endpoint it finds that is either interrupt or bulk. In this case it was bulk, so the driver submitted an interrupt URB to a bulk endpoint. Alan Stern