syzbot


divide error in taprio_update_queue_max_sdu (2)

Status: upstream: reported on 2025/06/06 18:07
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+3957824f1e313a2bd6d6@syzkaller.appspotmail.com
First crash: 4d07h, last: 1d05h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [net?] divide error in taprio_update_queue_max_sdu (2) 0 (1) 2025/06/06 18:07
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream divide error in taprio_update_queue_max_sdu net 1 383d 379d 0/28 auto-obsoleted due to no activity on 2024/08/31 12:01

Sample crash report:
Oops: divide error: 0000 [#1] SMP KASAN PTI
CPU: 0 UID: 0 PID: 16263 Comm: syz.4.2409 Not tainted 6.16.0-rc1-syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:div_u64_rem include/linux/math64.h:29 [inline]
RIP: 0010:div_u64 include/linux/math64.h:130 [inline]
RIP: 0010:duration_to_length net/sched/sch_taprio.c:259 [inline]
RIP: 0010:taprio_update_queue_max_sdu+0x2ac/0x890 net/sched/sch_taprio.c:288
Code: b9 00 00 00 00 00 fc ff df 80 3c 08 00 74 08 48 89 df e8 97 f3 9d f8 48 8b 03 89 c1 4c 89 e8 48 c1 e8 20 74 0d 4c 89 e8 31 d2 <48> f7 f1 48 89 c5 eb 09 44 89 e8 31 d2 f7 f1 89 c5 48 83 7c 24 50
RSP: 0018:ffffc9000b00ee78 EFLAGS: 00010246
RAX: 000000ac848a21a0 RBX: ffff8880286fd2e0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8880286fd2e0
RBP: 0000000000000000 R08: ffff8880286fd2e7 R09: 1ffff110050dfa5c
R10: dffffc0000000000 R11: ffffed10050dfa5d R12: 00000000ffffffff
R13: 000000ac848a21a0 R14: 0000000000000000 R15: ffff88805fa2a800
FS:  00007fe7e69876c0(0000) GS:ffff888125c52000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000279030 CR3: 000000005fa80000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 taprio_change+0x2b19/0x3f60 net/sched/sch_taprio.c:1910
 taprio_init+0x959/0xbd0 net/sched/sch_taprio.c:2112
 qdisc_create+0x7a9/0xea0 net/sched/sch_api.c:1333
 __tc_modify_qdisc net/sched/sch_api.c:1758 [inline]
 tc_modify_qdisc+0x1426/0x2010 net/sched/sch_api.c:1822
 rtnetlink_rcv_msg+0x77c/0xb70 net/core/rtnetlink.c:6953
 netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2534
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x75b/0x8d0 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x219/0x270 net/socket.c:727
 ____sys_sendmsg+0x505/0x830 net/socket.c:2566
 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2620
 __sys_sendmsg net/socket.c:2652 [inline]
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2655
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fe7e5b8e929
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fe7e6987038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fe7e5db5fa0 RCX: 00007fe7e5b8e929
RDX: 0000000000000000 RSI: 00002000000007c0 RDI: 0000000000000005
RBP: 00007fe7e5c10b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fe7e5db5fa0 R15: 00007fe7e5edfa28
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:div_u64_rem include/linux/math64.h:29 [inline]
RIP: 0010:div_u64 include/linux/math64.h:130 [inline]
RIP: 0010:duration_to_length net/sched/sch_taprio.c:259 [inline]
RIP: 0010:taprio_update_queue_max_sdu+0x2ac/0x890 net/sched/sch_taprio.c:288
Code: b9 00 00 00 00 00 fc ff df 80 3c 08 00 74 08 48 89 df e8 97 f3 9d f8 48 8b 03 89 c1 4c 89 e8 48 c1 e8 20 74 0d 4c 89 e8 31 d2 <48> f7 f1 48 89 c5 eb 09 44 89 e8 31 d2 f7 f1 89 c5 48 83 7c 24 50
RSP: 0018:ffffc9000b00ee78 EFLAGS: 00010246
RAX: 000000ac848a21a0 RBX: ffff8880286fd2e0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8880286fd2e0
RBP: 0000000000000000 R08: ffff8880286fd2e7 R09: 1ffff110050dfa5c
R10: dffffc0000000000 R11: ffffed10050dfa5d R12: 00000000ffffffff
R13: 000000ac848a21a0 R14: 0000000000000000 R15: ffff88805fa2a800
FS:  00007fe7e69876c0(0000) GS:ffff888125c52000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fca80581178 CR3: 000000005fa80000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	b9 00 00 00 00       	mov    $0x0,%ecx
   5:	00 fc                	add    %bh,%ah
   7:	ff                   	(bad)
   8:	df 80 3c 08 00 74    	filds  0x7400083c(%rax)
   e:	08 48 89             	or     %cl,-0x77(%rax)
  11:	df e8                	fucomip %st(0),%st
  13:	97                   	xchg   %eax,%edi
  14:	f3 9d                	repz popf
  16:	f8                   	clc
  17:	48 8b 03             	mov    (%rbx),%rax
  1a:	89 c1                	mov    %eax,%ecx
  1c:	4c 89 e8             	mov    %r13,%rax
  1f:	48 c1 e8 20          	shr    $0x20,%rax
  23:	74 0d                	je     0x32
  25:	4c 89 e8             	mov    %r13,%rax
  28:	31 d2                	xor    %edx,%edx
* 2a:	48 f7 f1             	div    %rcx <-- trapping instruction
  2d:	48 89 c5             	mov    %rax,%rbp
  30:	eb 09                	jmp    0x3b
  32:	44 89 e8             	mov    %r13d,%eax
  35:	31 d2                	xor    %edx,%edx
  37:	f7 f1                	div    %ecx
  39:	89 c5                	mov    %eax,%ebp
  3b:	48                   	rex.W
  3c:	83                   	.byte 0x83
  3d:	7c 24                	jl     0x63
  3f:	50                   	push   %rax

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/09 11:02 upstream 19272b37aa4f 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce divide error in taprio_update_queue_max_sdu
2025/06/06 09:49 net-next 2c7e4a2663a1 6b6b5f21 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce divide error in taprio_update_queue_max_sdu
* Struck through repros no longer work on HEAD.