Re: [syzbot] BUG: "hc->tx_t_ipi == NUM" holds (exception!) at net/dccp/ccids/ccid3.c:LINE/ccid3_upda

Randy Dunlap <[email protected]>
Newsgroups org.kernel.vger.dccp,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <[email protected]>
Hi,

On 1/10/22 08:16, syzbot wrote:
> Hello,
> 
> syzbot found the following issue on:
> 
> HEAD commit:    82192cb497f9 Merge branch 'ena-capabilities-field-and-cosm..
> git tree:       net-next
> console output: https://syzkaller.appspot.com/x/log.txt?xec95c7b00000
> kernel config:  https://syzkaller.appspot.com/x/.config?x22a0a6462d9ff7d
> dashboard link: https://syzkaller.appspot.com/bug?extid”641ba6c1d768b1e35e
> compiler:       gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x0ea4e3b00000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x977b73b00000
> 
> Bisection is inconclusive: the issue happens on the oldest tested release.

Regarding commit 793734b587a6:
Author: Gerrit Renker <[email protected]>
Date:   Mon Feb 27 12:29:44 2012 -0700

    dccp ccid-3: replace incorrect BUG_ON


Is this an algorithm (RFC) problem or a Linux implementation problem?

Could we round a calculated 0 (unbounded) t_ipi up to 1?

Or is just something "nasty" that the reproducer program is doing?


I ran the C reproducer for about 15 seconds and got 71 occurrences
of this
	DCCP_BUG_ON(hc->tx_t_ipi = 0);

> 
> bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x698c63b00000
> final oops:     https://syzkaller.appspot.com/x/report.txt?xe98c63b00000
> console output: https://syzkaller.appspot.com/x/log.txt?x698c63b00000
> 
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: [email protected]
> 
> BUG: "hc->tx_t_ipi = 0" holds (exception!) at net/dccp/ccids/ccid3.c:90/ccid3_update_send_interval()
> CPU: 0 PID: 29976 Comm: syz-executor890 Not tainted 5.16.0-rc8-syzkaller #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
> Call Trace:
>  <TASK>
>  __dump_stack lib/dump_stack.c:88 [inline]
>  dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
>  ccid3_update_send_interval net/dccp/ccids/ccid3.c:90 [inline]
>  ccid3_update_send_interval.cold+0x87/0x93 net/dccp/ccids/ccid3.c:86
>  ccid3_hc_tx_update_s net/dccp/ccids/ccid3.c:169 [inline]
>  ccid3_hc_tx_packet_sent+0x12e/0x160 net/dccp/ccids/ccid3.c:353
>  ccid_hc_tx_packet_sent net/dccp/ccid.h:175 [inline]
>  dccp_xmit_packet+0x2f2/0x750 net/dccp/output.c:289
>  dccp_write_xmit+0x16d/0x1d0 net/dccp/output.c:366
>  dccp_sendmsg+0x922/0xc90 net/dccp/proto.c:783
>  inet_sendmsg+0x99/0xe0 net/ipv4/af_inet.c:819
>  sock_sendmsg_nosec net/socket.c:705 [inline]
>  sock_sendmsg+0xcf/0x120 net/socket.c:725
>  ____sys_sendmsg+0x331/0x810 net/socket.c:2413
>  ___sys_sendmsg+0xf3/0x170 net/socket.c:2467
>  __sys_sendmmsg+0x195/0x470 net/socket.c:2553
>  __do_sys_sendmmsg net/socket.c:2582 [inline]
>  __se_sys_sendmmsg net/socket.c:2579 [inline]
>  __x64_sys_sendmmsg+0x99/0x100 net/socket.c:2579
>  do_syscall_x64 arch/x86/entry/common.c:50 [inline]
>  do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
>  entry_SYSCALL_64_after_hwframe+0x44/0xae
> RIP: 0033:0x7f2cf5f36da9
> Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 15 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007f2cf5ee4308 EFLAGS: 00000246 ORIG_RAX: 0000000000000133
> RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f2cf5f36da9
> RDX: 0000000000000001 RSI: 000000002000bf40 RDI: 0000000000000004
> RBP: 00007f2cf5fbf4c8 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 00007f2cf5fbf4c0
> R13: 00007f2cf5f8c5dc R14: 00007f2cf5ee4400 R15: 0000000000022000
>  </TASK>
> 
> 
> ---
> 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 [email protected].
> 
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
> For information about bisection process see: https://goo.gl/tpsmEJ#bisection
> syzbot can test patches for this issue, for details see:
> https://goo.gl/tpsmEJ#testing-patches

thanks.

-- 
~Randy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.