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: 2d06h, last: 2d06h
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 381d 377d 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: 12175 Comm: syz.3.1468 Not tainted 6.15.0-syzkaller-12422-g2c7e4a2663a1 #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+0x2b9/0x890 net/sched/sch_taprio.c:288
Code: 74 08 48 89 df e8 37 36 9e 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 00 49 bd 00 00 00 00 00 fc ff df 74 48
RSP: 0018:ffffc90003486978 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8880292be2e0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8880292be2e0
RBP: 0000000000000000 R08: ffff8880292be2e7 R09: 1ffff11005257c5c
R10: dffffc0000000000 R11: ffffed1005257c5d R12: 00000000ffffffff
R13: 0000000000000000 R14: 0000000000000000 R15: ffff888057048c00
FS:  00007fc8a83a76c0(0000) GS:ffff888125c55000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000029c28000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 taprio_dev_notifier+0x2a4/0x3b0 net/sched/sch_taprio.c:1333
 notifier_call_chain+0x1b3/0x3e0 kernel/notifier.c:85
 netif_state_change+0x284/0x3a0 net/core/dev.c:1584
 netif_set_operstate net/core/rtnetlink.c:1055 [inline]
 set_operstate+0x2cc/0x3a0 net/core/rtnetlink.c:1083
 do_setlink+0x12bc/0x41c0 net/core/rtnetlink.c:3216
 rtnl_group_changelink net/core/rtnetlink.c:3773 [inline]
 __rtnl_newlink net/core/rtnetlink.c:3927 [inline]
 rtnl_newlink+0x149f/0x1c70 net/core/rtnetlink.c:4055
 rtnetlink_rcv_msg+0x7cc/0xb70 net/core/rtnetlink.c:6944
 netlink_rcv_skb+0x205/0x470 net/netlink/af_netlink.c:2534
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x758/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:0x7fc8a758e929
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:00007fc8a83a7038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fc8a77b5fa0 RCX: 00007fc8a758e929
RDX: 0000000000000000 RSI: 0000200000000140 RDI: 0000000000000004
RBP: 00007fc8a7610b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fc8a77b5fa0 R15: 00007ffe00d939a8
 </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+0x2b9/0x890 net/sched/sch_taprio.c:288
Code: 74 08 48 89 df e8 37 36 9e 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 00 49 bd 00 00 00 00 00 fc ff df 74 48
RSP: 0018:ffffc90003486978 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8880292be2e0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8880292be2e0
RBP: 0000000000000000 R08: ffff8880292be2e7 R09: 1ffff11005257c5c
R10: dffffc0000000000 R11: ffffed1005257c5d R12: 00000000ffffffff
R13: 0000000000000000 R14: 0000000000000000 R15: ffff888057048c00
FS:  00007fc8a83a76c0(0000) GS:ffff888125d55000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000008000 CR3: 0000000029c28000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	74 08                	je     0xa
   2:	48 89 df             	mov    %rbx,%rdi
   5:	e8 37 36 9e f8       	call   0xf89e3641
   a:	48 8b 03             	mov    (%rbx),%rax
   d:	89 c1                	mov    %eax,%ecx
   f:	4c 89 e8             	mov    %r13,%rax
  12:	48 c1 e8 20          	shr    $0x20,%rax
  16:	74 0d                	je     0x25
  18:	4c 89 e8             	mov    %r13,%rax
  1b:	31 d2                	xor    %edx,%edx
  1d:	48 f7 f1             	div    %rcx
  20:	48 89 c5             	mov    %rax,%rbp
  23:	eb 09                	jmp    0x2e
  25:	44 89 e8             	mov    %r13d,%eax
  28:	31 d2                	xor    %edx,%edx
* 2a:	f7 f1                	div    %ecx <-- trapping instruction
  2c:	89 c5                	mov    %eax,%ebp
  2e:	48 83 7c 24 50 00    	cmpq   $0x0,0x50(%rsp)
  34:	49 bd 00 00 00 00 00 	movabs $0xdffffc0000000000,%r13
  3b:	fc ff df
  3e:	74 48                	je     0x88

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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.