netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [syzbot] [net?] general protection fault in htb_qlen_notify
@ 2025-07-03  8:17 syzbot
  2025-07-03 11:32 ` syzbot
  2025-07-05  5:43 ` syzbot
  0 siblings, 2 replies; 7+ messages in thread
From: syzbot @ 2025-07-03  8:17 UTC (permalink / raw)
  To: davem, edumazet, horms, jhs, jiri, kuba, linux-kernel, netdev,
	pabeni, syzkaller-bugs, xiyou.wangcong

Hello,

syzbot found the following issue on:

HEAD commit:    bd475eeaaf3c Merge branch '200GbE' of git://git.kernel.org..
git tree:       net
console output: https://syzkaller.appspot.com/x/log.txt?x=1323b770580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=36b0e72cad5298f8
dashboard link: https://syzkaller.appspot.com/bug?extid=d8b58d7b0ad89a678a16
compiler:       Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/d59bc82a55e0/disk-bd475eea.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/2a83759fceb6/vmlinux-bd475eea.xz
kernel image: https://storage.googleapis.com/syzbot-assets/07576fd8e432/bzImage-bd475eea.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000035: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x00000000000001a8-0x00000000000001af]
CPU: 0 UID: 0 PID: 7207 Comm: syz.3.362 Not tainted 6.16.0-rc3-syzkaller-00144-gbd475eeaaf3c #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:htb_deactivate net/sched/sch_htb.c:613 [inline]
RIP: 0010:htb_qlen_notify+0x31/0xc0 net/sched/sch_htb.c:1489
Code: 41 56 41 55 41 54 53 49 89 f6 49 89 ff 49 bc 00 00 00 00 00 fc ff df e8 3d c6 46 f8 49 8d 9e a8 01 00 00 49 89 dd 49 c1 ed 03 <43> 0f b6 44 25 00 84 c0 75 4d 8b 2b 31 ff 89 ee e8 5a ca 46 f8 85
RSP: 0018:ffffc90003c6efb0 EFLAGS: 00010206
RAX: ffffffff89798833 RBX: 00000000000001a8 RCX: ffff8880585d9e00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888058d42000
RBP: dffffc0000000000 R08: ffff8880585d9e00 R09: 0000000000000002
R10: 00000000ffffffff R11: ffffffff89798810 R12: dffffc0000000000
R13: 0000000000000035 R14: 0000000000000000 R15: ffff888058d42000
FS:  00007f22a32406c0(0000) GS:ffff888125c50000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f22a31ddd58 CR3: 000000007c196000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 qdisc_tree_reduce_backlog+0x29c/0x480 net/sched/sch_api.c:811
 fq_change+0x1519/0x1f50 net/sched/sch_fq.c:1147
 fq_init+0x699/0x960 net/sched/sch_fq.c:1201
 qdisc_create+0x7ac/0xea0 net/sched/sch_api.c:1324
 __tc_modify_qdisc net/sched/sch_api.c:1749 [inline]
 tc_modify_qdisc+0x1426/0x2010 net/sched/sch_api.c:1813
 rtnetlink_rcv_msg+0x779/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+0x21c/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:0x7f22a238e929
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:00007f22a3240038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f22a25b5fa0 RCX: 00007f22a238e929
RDX: 0000000000000800 RSI: 0000200000000100 RDI: 0000000000000008
RBP: 00007f22a2410b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f22a25b5fa0 R15: 00007fffce377518
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:htb_deactivate net/sched/sch_htb.c:613 [inline]
RIP: 0010:htb_qlen_notify+0x31/0xc0 net/sched/sch_htb.c:1489
Code: 41 56 41 55 41 54 53 49 89 f6 49 89 ff 49 bc 00 00 00 00 00 fc ff df e8 3d c6 46 f8 49 8d 9e a8 01 00 00 49 89 dd 49 c1 ed 03 <43> 0f b6 44 25 00 84 c0 75 4d 8b 2b 31 ff 89 ee e8 5a ca 46 f8 85
RSP: 0018:ffffc90003c6efb0 EFLAGS: 00010206
RAX: ffffffff89798833 RBX: 00000000000001a8 RCX: ffff8880585d9e00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888058d42000
RBP: dffffc0000000000 R08: ffff8880585d9e00 R09: 0000000000000002
R10: 00000000ffffffff R11: ffffffff89798810 R12: dffffc0000000000
R13: 0000000000000035 R14: 0000000000000000 R15: ffff888058d42000
FS:  00007f22a32406c0(0000) GS:ffff888125c50000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f22a31ddd58 CR3: 000000007c196000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	41 56                	push   %r14
   2:	41 55                	push   %r13
   4:	41 54                	push   %r12
   6:	53                   	push   %rbx
   7:	49 89 f6             	mov    %rsi,%r14
   a:	49 89 ff             	mov    %rdi,%r15
   d:	49 bc 00 00 00 00 00 	movabs $0xdffffc0000000000,%r12
  14:	fc ff df
  17:	e8 3d c6 46 f8       	call   0xf846c659
  1c:	49 8d 9e a8 01 00 00 	lea    0x1a8(%r14),%rbx
  23:	49 89 dd             	mov    %rbx,%r13
  26:	49 c1 ed 03          	shr    $0x3,%r13
* 2a:	43 0f b6 44 25 00    	movzbl 0x0(%r13,%r12,1),%eax <-- trapping instruction
  30:	84 c0                	test   %al,%al
  32:	75 4d                	jne    0x81
  34:	8b 2b                	mov    (%rbx),%ebp
  36:	31 ff                	xor    %edi,%edi
  38:	89 ee                	mov    %ebp,%esi
  3a:	e8 5a ca 46 f8       	call   0xf846ca99
  3f:	85                   	.byte 0x85


---
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@googlegroups.com.

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 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [syzbot] [net?] general protection fault in htb_qlen_notify
  2025-07-03  8:17 [syzbot] [net?] general protection fault in htb_qlen_notify syzbot
@ 2025-07-03 11:32 ` syzbot
  2025-07-03 15:05   ` Lion, can you take a look at his? WAS(Re: " Jamal Hadi Salim
  2025-07-03 21:06   ` Victor Nogueira
  2025-07-05  5:43 ` syzbot
  1 sibling, 2 replies; 7+ messages in thread
From: syzbot @ 2025-07-03 11:32 UTC (permalink / raw)
  To: davem, edumazet, horms, jhs, jiri, kuba, linux-kernel, netdev,
	pabeni, syzkaller-bugs, xiyou.wangcong

syzbot has found a reproducer for the following issue on:

HEAD commit:    bd475eeaaf3c Merge branch '200GbE' of git://git.kernel.org..
git tree:       net
console output: https://syzkaller.appspot.com/x/log.txt?x=15cc0582580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=36b0e72cad5298f8
dashboard link: https://syzkaller.appspot.com/bug?extid=d8b58d7b0ad89a678a16
compiler:       Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1113748c580000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=10909ebc580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/d59bc82a55e0/disk-bd475eea.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/2a83759fceb6/vmlinux-bd475eea.xz
kernel image: https://storage.googleapis.com/syzbot-assets/07576fd8e432/bzImage-bd475eea.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000035: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x00000000000001a8-0x00000000000001af]
CPU: 1 UID: 0 PID: 6017 Comm: syz.0.16 Not tainted 6.16.0-rc3-syzkaller-00144-gbd475eeaaf3c #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:htb_deactivate net/sched/sch_htb.c:613 [inline]
RIP: 0010:htb_qlen_notify+0x31/0xc0 net/sched/sch_htb.c:1489
Code: 41 56 41 55 41 54 53 49 89 f6 49 89 ff 49 bc 00 00 00 00 00 fc ff df e8 3d c6 46 f8 49 8d 9e a8 01 00 00 49 89 dd 49 c1 ed 03 <43> 0f b6 44 25 00 84 c0 75 4d 8b 2b 31 ff 89 ee e8 5a ca 46 f8 85
RSP: 0018:ffffc900034f6fb0 EFLAGS: 00010206
RAX: ffffffff89798833 RBX: 00000000000001a8 RCX: ffff88802714bc00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88807a6ac000
RBP: dffffc0000000000 R08: ffff88802714bc00 R09: 0000000000000002
R10: 00000000ffffffff R11: ffffffff89798810 R12: dffffc0000000000
R13: 0000000000000035 R14: 0000000000000000 R15: ffff88807a6ac000
FS:  00007fa0c3df16c0(0000) GS:ffff888125d50000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa0c3dd0d58 CR3: 00000000743e8000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 qdisc_tree_reduce_backlog+0x29c/0x480 net/sched/sch_api.c:811
 fq_change+0x1519/0x1f50 net/sched/sch_fq.c:1147
 fq_init+0x699/0x960 net/sched/sch_fq.c:1201
 qdisc_create+0x7ac/0xea0 net/sched/sch_api.c:1324
 __tc_modify_qdisc net/sched/sch_api.c:1749 [inline]
 tc_modify_qdisc+0x1426/0x2010 net/sched/sch_api.c:1813
 rtnetlink_rcv_msg+0x779/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+0x21c/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:0x7fa0c2f8e929
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:00007fa0c3df1038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fa0c31b5fa0 RCX: 00007fa0c2f8e929
RDX: 0000000000044080 RSI: 0000200000000040 RDI: 0000000000000006
RBP: 00007fa0c3010b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fa0c31b5fa0 R15: 00007ffd14aa8178
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:htb_deactivate net/sched/sch_htb.c:613 [inline]
RIP: 0010:htb_qlen_notify+0x31/0xc0 net/sched/sch_htb.c:1489
Code: 41 56 41 55 41 54 53 49 89 f6 49 89 ff 49 bc 00 00 00 00 00 fc ff df e8 3d c6 46 f8 49 8d 9e a8 01 00 00 49 89 dd 49 c1 ed 03 <43> 0f b6 44 25 00 84 c0 75 4d 8b 2b 31 ff 89 ee e8 5a ca 46 f8 85
RSP: 0018:ffffc900034f6fb0 EFLAGS: 00010206
RAX: ffffffff89798833 RBX: 00000000000001a8 RCX: ffff88802714bc00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88807a6ac000
RBP: dffffc0000000000 R08: ffff88802714bc00 R09: 0000000000000002
R10: 00000000ffffffff R11: ffffffff89798810 R12: dffffc0000000000
R13: 0000000000000035 R14: 0000000000000000 R15: ffff88807a6ac000
FS:  00007fa0c3df16c0(0000) GS:ffff888125d50000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa0c3dd0d58 CR3: 00000000743e8000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	41 56                	push   %r14
   2:	41 55                	push   %r13
   4:	41 54                	push   %r12
   6:	53                   	push   %rbx
   7:	49 89 f6             	mov    %rsi,%r14
   a:	49 89 ff             	mov    %rdi,%r15
   d:	49 bc 00 00 00 00 00 	movabs $0xdffffc0000000000,%r12
  14:	fc ff df
  17:	e8 3d c6 46 f8       	call   0xf846c659
  1c:	49 8d 9e a8 01 00 00 	lea    0x1a8(%r14),%rbx
  23:	49 89 dd             	mov    %rbx,%r13
  26:	49 c1 ed 03          	shr    $0x3,%r13
* 2a:	43 0f b6 44 25 00    	movzbl 0x0(%r13,%r12,1),%eax <-- trapping instruction
  30:	84 c0                	test   %al,%al
  32:	75 4d                	jne    0x81
  34:	8b 2b                	mov    (%rbx),%ebp
  36:	31 ff                	xor    %edi,%edi
  38:	89 ee                	mov    %ebp,%esi
  3a:	e8 5a ca 46 f8       	call   0xf846ca99
  3f:	85                   	.byte 0x85


---
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.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Lion, can you take a look at his? WAS(Re: [syzbot] [net?] general protection fault in htb_qlen_notify
  2025-07-03 11:32 ` syzbot
@ 2025-07-03 15:05   ` Jamal Hadi Salim
  2025-07-03 16:39     ` Jamal Hadi Salim
  2025-07-03 21:06   ` Victor Nogueira
  1 sibling, 1 reply; 7+ messages in thread
From: Jamal Hadi Salim @ 2025-07-03 15:05 UTC (permalink / raw)
  To: syzbot, Lion
  Cc: David Miller, Eric Dumazet, Simon Horman, Jiri Pirko,
	Jakub Kicinski, LKML, Linux Kernel Network Developers,
	Paolo Abeni, syzkaller-bugs, Cong Wang

On Thu, Jul 3, 2025 at 7:32 AM syzbot
<syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com> wrote:
>
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit:    bd475eeaaf3c Merge branch '200GbE' of git://git.kernel.org..
> git tree:       net
> console output: https://syzkaller.appspot.com/x/log.txt?x=15cc0582580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=36b0e72cad5298f8
> dashboard link: https://syzkaller.appspot.com/bug?extid=d8b58d7b0ad89a678a16
> compiler:       Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1113748c580000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=10909ebc580000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/d59bc82a55e0/disk-bd475eea.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/2a83759fceb6/vmlinux-bd475eea.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/07576fd8e432/bzImage-bd475eea.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com
>
> Oops: general protection fault, probably for non-canonical address 0xdffffc0000000035: 0000 [#1] SMP KASAN PTI
> KASAN: null-ptr-deref in range [0x00000000000001a8-0x00000000000001af]
> CPU: 1 UID: 0 PID: 6017 Comm: syz.0.16 Not tainted 6.16.0-rc3-syzkaller-00144-gbd475eeaaf3c #0 PREEMPT(full)
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
> RIP: 0010:htb_deactivate net/sched/sch_htb.c:613 [inline]
> RIP: 0010:htb_qlen_notify+0x31/0xc0 net/sched/sch_htb.c:1489
> Code: 41 56 41 55 41 54 53 49 89 f6 49 89 ff 49 bc 00 00 00 00 00 fc ff df e8 3d c6 46 f8 49 8d 9e a8 01 00 00 49 89 dd 49 c1 ed 03 <43> 0f b6 44 25 00 84 c0 75 4d 8b 2b 31 ff 89 ee e8 5a ca 46 f8 85
> RSP: 0018:ffffc900034f6fb0 EFLAGS: 00010206
> RAX: ffffffff89798833 RBX: 00000000000001a8 RCX: ffff88802714bc00
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88807a6ac000
> RBP: dffffc0000000000 R08: ffff88802714bc00 R09: 0000000000000002
> R10: 00000000ffffffff R11: ffffffff89798810 R12: dffffc0000000000
> R13: 0000000000000035 R14: 0000000000000000 R15: ffff88807a6ac000
> FS:  00007fa0c3df16c0(0000) GS:ffff888125d50000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fa0c3dd0d58 CR3: 00000000743e8000 CR4: 00000000003526f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
>  <TASK>
>  qdisc_tree_reduce_backlog+0x29c/0x480 net/sched/sch_api.c:811
>  fq_change+0x1519/0x1f50 net/sched/sch_fq.c:1147
>  fq_init+0x699/0x960 net/sched/sch_fq.c:1201
>  qdisc_create+0x7ac/0xea0 net/sched/sch_api.c:1324
>  __tc_modify_qdisc net/sched/sch_api.c:1749 [inline]
>  tc_modify_qdisc+0x1426/0x2010 net/sched/sch_api.c:1813
>  rtnetlink_rcv_msg+0x779/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+0x21c/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:0x7fa0c2f8e929
> 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:00007fa0c3df1038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
> RAX: ffffffffffffffda RBX: 00007fa0c31b5fa0 RCX: 00007fa0c2f8e929
> RDX: 0000000000044080 RSI: 0000200000000040 RDI: 0000000000000006
> RBP: 00007fa0c3010b39 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> R13: 0000000000000000 R14: 00007fa0c31b5fa0 R15: 00007ffd14aa8178
>  </TASK>
> Modules linked in:
> ---[ end trace 0000000000000000 ]---
> RIP: 0010:htb_deactivate net/sched/sch_htb.c:613 [inline]
> RIP: 0010:htb_qlen_notify+0x31/0xc0 net/sched/sch_htb.c:1489
> Code: 41 56 41 55 41 54 53 49 89 f6 49 89 ff 49 bc 00 00 00 00 00 fc ff df e8 3d c6 46 f8 49 8d 9e a8 01 00 00 49 89 dd 49 c1 ed 03 <43> 0f b6 44 25 00 84 c0 75 4d 8b 2b 31 ff 89 ee e8 5a ca 46 f8 85
> RSP: 0018:ffffc900034f6fb0 EFLAGS: 00010206
> RAX: ffffffff89798833 RBX: 00000000000001a8 RCX: ffff88802714bc00
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88807a6ac000
> RBP: dffffc0000000000 R08: ffff88802714bc00 R09: 0000000000000002
> R10: 00000000ffffffff R11: ffffffff89798810 R12: dffffc0000000000
> R13: 0000000000000035 R14: 0000000000000000 R15: ffff88807a6ac000
> FS:  00007fa0c3df16c0(0000) GS:ffff888125d50000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fa0c3dd0d58 CR3: 00000000743e8000 CR4: 00000000003526f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> ----------------
> Code disassembly (best guess):
>    0:   41 56                   push   %r14
>    2:   41 55                   push   %r13
>    4:   41 54                   push   %r12
>    6:   53                      push   %rbx
>    7:   49 89 f6                mov    %rsi,%r14
>    a:   49 89 ff                mov    %rdi,%r15
>    d:   49 bc 00 00 00 00 00    movabs $0xdffffc0000000000,%r12
>   14:   fc ff df
>   17:   e8 3d c6 46 f8          call   0xf846c659
>   1c:   49 8d 9e a8 01 00 00    lea    0x1a8(%r14),%rbx
>   23:   49 89 dd                mov    %rbx,%r13
>   26:   49 c1 ed 03             shr    $0x3,%r13
> * 2a:   43 0f b6 44 25 00       movzbl 0x0(%r13,%r12,1),%eax <-- trapping instruction
>   30:   84 c0                   test   %al,%al
>   32:   75 4d                   jne    0x81
>   34:   8b 2b                   mov    (%rbx),%ebp
>   36:   31 ff                   xor    %edi,%edi
>   38:   89 ee                   mov    %ebp,%esi
>   3a:   e8 5a ca 46 f8          call   0xf846ca99
>   3f:   85                      .byte 0x85
>
>
> ---
> 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.

It is triggered by your patch. On the first try, removing your patch
seems to fix it.
It may have nothing to do with your patch i.e your patch may have
opened it up to trigger an existing bug.
You removed that if n=0, len=0 check which earlier code was using to
terminate the processing.

cheers,
jamal

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Lion, can you take a look at his? WAS(Re: [syzbot] [net?] general protection fault in htb_qlen_notify
  2025-07-03 15:05   ` Lion, can you take a look at his? WAS(Re: " Jamal Hadi Salim
@ 2025-07-03 16:39     ` Jamal Hadi Salim
  0 siblings, 0 replies; 7+ messages in thread
From: Jamal Hadi Salim @ 2025-07-03 16:39 UTC (permalink / raw)
  To: syzbot, Lion
  Cc: David Miller, Eric Dumazet, Simon Horman, Jiri Pirko,
	Jakub Kicinski, LKML, Linux Kernel Network Developers,
	Paolo Abeni, syzkaller-bugs, Cong Wang

On Thu, Jul 3, 2025 at 11:05 AM Jamal Hadi Salim <jhs@mojatatu.com> wrote:
>
> On Thu, Jul 3, 2025 at 7:32 AM syzbot
> <syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com> wrote:
> >
> > syzbot has found a reproducer for the following issue on:
> >
> > HEAD commit:    bd475eeaaf3c Merge branch '200GbE' of git://git.kernel.org..
> > git tree:       net

[..]
> It is triggered by your patch. On the first try, removing your patch
> seems to fix it.
> It may have nothing to do with your patch i.e your patch may have
> opened it up to trigger an existing bug.
> You removed that if n=0, len=0 check which earlier code was using to
> terminate the processing.
>

Ok, after some more digging - this is not a bug you caused but rather
one you exposed.
We are looking into it.

cheers,
jamal
> cheers,
> jamal

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [syzbot] [net?] general protection fault in htb_qlen_notify
  2025-07-03 11:32 ` syzbot
  2025-07-03 15:05   ` Lion, can you take a look at his? WAS(Re: " Jamal Hadi Salim
@ 2025-07-03 21:06   ` Victor Nogueira
  2025-07-04  1:12     ` syzbot
  1 sibling, 1 reply; 7+ messages in thread
From: Victor Nogueira @ 2025-07-03 21:06 UTC (permalink / raw)
  To: syzbot, davem, edumazet, horms, jhs, jiri, kuba, linux-kernel,
	netdev, pabeni, syzkaller-bugs, xiyou.wangcong

[-- Attachment #1: Type: text/plain, Size: 711 bytes --]

On 7/3/25 08:32, syzbot wrote:
> syzbot has found a reproducer for the following issue on:
> 
> HEAD commit:    bd475eeaaf3c Merge branch '200GbE' of git://git.kernel.org..
> git tree:       net
> console output: https://syzkaller.appspot.com/x/log.txt?x=15cc0582580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=36b0e72cad5298f8
> dashboard link: https://syzkaller.appspot.com/bug?extid=d8b58d7b0ad89a678a16
> compiler:       Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1113748c580000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=10909ebc580000

#syz test

[-- Attachment #2: htb_null_deref_fix.patch --]
[-- Type: text/x-patch, Size: 1222 bytes --]

diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index d8a33486c511..847109dc5fa5 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -342,11 +342,11 @@ static struct Qdisc *qdisc_leaf(struct Qdisc *p, u32 classid)
 	const struct Qdisc_class_ops *cops = p->ops->cl_ops;
 
 	if (cops == NULL)
-		return NULL;
+		return ERR_PTR(-EOPNOTSUPP);
 	cl = cops->find(p, classid);
 
 	if (cl == 0)
-		return NULL;
+		return ERR_PTR(-ENOENT);
 	return cops->leaf(p, cl);
 }
 
@@ -1497,7 +1497,7 @@ static int __tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n,
 		} else {
 			q = rtnl_dereference(dev->qdisc);
 		}
-		if (!q) {
+		if (IS_ERR_OR_NULL(q)) {
 			NL_SET_ERR_MSG(extack, "Cannot find specified qdisc on specified device");
 			return -ENOENT;
 		}
@@ -1602,7 +1602,12 @@ static int __tc_modify_qdisc(struct sk_buff *skb, struct nlmsghdr *n,
 					NL_SET_ERR_MSG(extack, "Failed to find specified qdisc");
 					return -ENOENT;
 				}
+
 				q = qdisc_leaf(p, clid);
+				if (IS_ERR(q)) {
+					NL_SET_ERR_MSG(extack, "Specified class not found");
+					return PTR_ERR(q);
+				}
 			} else if (dev_ingress_queue_create(dev)) {
 				q = rtnl_dereference(dev_ingress_queue(dev)->qdisc_sleeping);
 			}

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [syzbot] [net?] general protection fault in htb_qlen_notify
  2025-07-03 21:06   ` Victor Nogueira
@ 2025-07-04  1:12     ` syzbot
  0 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2025-07-04  1:12 UTC (permalink / raw)
  To: davem, edumazet, horms, jhs, jiri, kuba, linux-kernel, netdev,
	pabeni, syzkaller-bugs, victor, xiyou.wangcong

Hello,

syzbot has tested the proposed patch and the reproducer did not trigger any issue:

Reported-by: syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com
Tested-by: syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com

Tested on:

commit:         223e2288 vsock/vmci: Clear the vmci transport packet p..
git tree:       net
console output: https://syzkaller.appspot.com/x/log.txt?x=16685ebc580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=36b0e72cad5298f8
dashboard link: https://syzkaller.appspot.com/bug?extid=d8b58d7b0ad89a678a16
compiler:       Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
patch:          https://syzkaller.appspot.com/x/patch.diff?x=141d8c8c580000

Note: testing is done by a robot and is best-effort only.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [syzbot] [net?] general protection fault in htb_qlen_notify
  2025-07-03  8:17 [syzbot] [net?] general protection fault in htb_qlen_notify syzbot
  2025-07-03 11:32 ` syzbot
@ 2025-07-05  5:43 ` syzbot
  1 sibling, 0 replies; 7+ messages in thread
From: syzbot @ 2025-07-05  5:43 UTC (permalink / raw)
  To: davem, edumazet, horms, jhs, jiri, kuba, linux-kernel, netdev,
	nnamrec, pabeni, pctammela, syzkaller-bugs, victor,
	xiyou.wangcong

syzbot has bisected this issue to:

commit 103406b38c600fec1fe375a77b27d87e314aea09
Author: Lion Ackermann <nnamrec@gmail.com>
Date:   Mon Jun 30 13:27:30 2025 +0000

    net/sched: Always pass notifications when child class becomes empty

bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=14c9c582580000
start commit:   bd475eeaaf3c Merge branch '200GbE' of git://git.kernel.org..
git tree:       net
final oops:     https://syzkaller.appspot.com/x/report.txt?x=16c9c582580000
console output: https://syzkaller.appspot.com/x/log.txt?x=12c9c582580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=36b0e72cad5298f8
dashboard link: https://syzkaller.appspot.com/bug?extid=d8b58d7b0ad89a678a16
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=171af48c580000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=151b33d4580000

Reported-by: syzbot+d8b58d7b0ad89a678a16@syzkaller.appspotmail.com
Fixes: 103406b38c60 ("net/sched: Always pass notifications when child class becomes empty")

For information about bisection process see: https://goo.gl/tpsmEJ#bisection

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-07-05  5:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-03  8:17 [syzbot] [net?] general protection fault in htb_qlen_notify syzbot
2025-07-03 11:32 ` syzbot
2025-07-03 15:05   ` Lion, can you take a look at his? WAS(Re: " Jamal Hadi Salim
2025-07-03 16:39     ` Jamal Hadi Salim
2025-07-03 21:06   ` Victor Nogueira
2025-07-04  1:12     ` syzbot
2025-07-05  5:43 ` syzbot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).