syzbot


divide error in usbnet_start_xmit
Status: fixed on 2022/03/08 16:11
Reported-by: syzbot+76bb1d34ffa0adc03baa@syzkaller.appspotmail.com
Fix commit: 397430b50a36 usbnet: sanity check for maxpacket
First crash: 224d, last: 204d
Patch testing requests:
Created Duration User Patch Repo Result
2021/10/22 01:50 21m 11115066@vivo.com patch upstream OK
2021/10/19 08:14 0m oneukum@suse.com patch https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git c03fb16bafdf error

Sample crash report:
divide error: 0000 [#1] SMP KASAN
CPU: 0 PID: 1315 Comm: kworker/0:6 Not tainted 5.15.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: mld mld_ifc_work
RIP: 0010:usbnet_start_xmit+0x3f1/0x1f70 drivers/net/usb/usbnet.c:1404
Code: 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 0f b6 04 02 84 c0 74 08 3c 03 0f 8e 4b 18 00 00 8b 44 24 08 31 d2 31 ff <41> f7 b5 28 0d 00 00 41 89 d4 89 d6 e8 4e 12 b5 fd 45 85 e4 0f 84
RSP: 0018:ffffc9000104f660 EFLAGS: 00010246
RAX: 000000000000005a RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff838cbdc1 RDI: 0000000000000000
RBP: ffff8881155b1350 R08: 0000000000000001 R09: 0000000000000000
R10: ffffffff838cbdb4 R11: 0000000000000000 R12: 00000000c0011100
R13: ffff888119304000 R14: ffff8881155b1280 R15: ffff8881155b0d00
FS:  0000000000000000(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f24d7edaa70 CR3: 000000010a45d000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __netdev_start_xmit include/linux/netdevice.h:4988 [inline]
 netdev_start_xmit include/linux/netdevice.h:5002 [inline]
 xmit_one net/core/dev.c:3576 [inline]
 dev_hard_start_xmit+0x1df/0x890 net/core/dev.c:3592
 sch_direct_xmit+0x25b/0x790 net/sched/sch_generic.c:342
 __dev_xmit_skb net/core/dev.c:3803 [inline]
 __dev_queue_xmit+0xf25/0x2d40 net/core/dev.c:4170
 neigh_resolve_output net/core/neighbour.c:1492 [inline]
 neigh_resolve_output+0x50e/0x820 net/core/neighbour.c:1472
 neigh_output include/net/neighbour.h:510 [inline]
 ip6_finish_output2+0xdbe/0x1b20 net/ipv6/ip6_output.c:126
 __ip6_finish_output.part.0+0x387/0xbb0 net/ipv6/ip6_output.c:191
 __ip6_finish_output include/linux/skbuff.h:982 [inline]
 ip6_finish_output net/ipv6/ip6_output.c:201 [inline]
 NF_HOOK_COND include/linux/netfilter.h:296 [inline]
 ip6_output+0x3d2/0x810 net/ipv6/ip6_output.c:224
 dst_output include/net/dst.h:450 [inline]
 NF_HOOK include/linux/netfilter.h:307 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 mld_sendpack+0x979/0xe10 net/ipv6/mcast.c:1826
 mld_send_cr net/ipv6/mcast.c:2127 [inline]
 mld_ifc_work+0x71c/0xdc0 net/ipv6/mcast.c:2659
 process_one_work+0x9bf/0x1620 kernel/workqueue.c:2297
 worker_thread+0x658/0x11f0 kernel/workqueue.c:2444
 kthread+0x3c2/0x4a0 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
Modules linked in:
---[ end trace 3c734ee50b55655e ]---
RIP: 0010:usbnet_start_xmit+0x3f1/0x1f70 drivers/net/usb/usbnet.c:1404
Code: 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 0f b6 04 02 84 c0 74 08 3c 03 0f 8e 4b 18 00 00 8b 44 24 08 31 d2 31 ff <41> f7 b5 28 0d 00 00 41 89 d4 89 d6 e8 4e 12 b5 fd 45 85 e4 0f 84
RSP: 0018:ffffc9000104f660 EFLAGS: 00010246
RAX: 000000000000005a RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff838cbdc1 RDI: 0000000000000000
RBP: ffff8881155b1350 R08: 0000000000000001 R09: 0000000000000000
R10: ffffffff838cbdb4 R11: 0000000000000000 R12: 00000000c0011100
R13: ffff888119304000 R14: ffff8881155b1280 R15: ffff8881155b0d00
FS:  0000000000000000(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f24d7edaa70 CR3: 000000010a45d000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
   7:	fc ff df
   a:	48 89 fa             	mov    %rdi,%rdx
   d:	48 c1 ea 03          	shr    $0x3,%rdx
  11:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax
  15:	84 c0                	test   %al,%al
  17:	74 08                	je     0x21
  19:	3c 03                	cmp    $0x3,%al
  1b:	0f 8e 4b 18 00 00    	jle    0x186c
  21:	8b 44 24 08          	mov    0x8(%rsp),%eax
  25:	31 d2                	xor    %edx,%edx
  27:	31 ff                	xor    %edi,%edi
* 29:	41 f7 b5 28 0d 00 00 	divl   0xd28(%r13) <-- trapping instruction
  30:	41 89 d4             	mov    %edx,%r12d
  33:	89 d6                	mov    %edx,%esi
  35:	e8 4e 12 b5 fd       	callq  0xfdb51288
  3a:	45 85 e4             	test   %r12d,%r12d
  3d:	0f                   	.byte 0xf
  3e:	84                   	.byte 0x84

Crashes (760):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-upstream-usb 2021/10/18 09:49 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c03fb16bafdf 0c5d9412 .config log report syz C divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/15 16:37 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 660a92a59b9e 0c5d9412 .config log report syz C divide error in usbnet_start_xmit
ci2-upstream-usb 2021/11/04 16:28 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 4c1be0be .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/11/03 22:18 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 4c1be0be .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/11/02 06:11 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 098b5d53 .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/11/01 07:38 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 098b5d53 .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/31 16:27 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 098b5d53 .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/31 11:49 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 098b5d53 .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/31 07:12 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing a0548b26901f 098b5d53 .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 08:33 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 07:29 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 07:06 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 06:05 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 04:50 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 03:49 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 02:10 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/25 00:14 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 4f0000ee .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 22:26 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 20:47 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 19:24 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 16:22 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 14:55 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 13:09 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 12:33 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 10:57 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 09:23 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 08:22 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 07:08 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 04:56 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 03:45 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 02:42 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/24 01:17 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 23:59 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 22:52 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 22:17 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 21:11 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 19:51 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 18:45 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 17:44 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 16:40 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 15:05 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 13:45 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 12:42 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 11:39 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 10:37 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 09:28 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 08:35 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/23 07:22 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c26f1c109d21 282f03fb .config log report info divide error in usbnet_start_xmit
ci2-upstream-usb 2021/10/15 16:02 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 660a92a59b9e 0c5d9412 .config log report info divide error in usbnet_start_xmit