[syzbot] [fs?] INFO: rcu detected stall in sys_close (5)

10 views
Skip to first unread message

syzbot

unread,
Aug 29, 2023, 4:53:51 AM8/29/23
to bra...@kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk
Hello,

syzbot found the following issue on:

HEAD commit: 727dbda16b83 Merge tag 'hardening-v6.6-rc1' of git://git.k..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=158c0cdba80000
kernel config: https://syzkaller.appspot.com/x/.config?x=45047a5b8c295201
dashboard link: https://syzkaller.appspot.com/bug?extid=e46fbd5289363464bc13
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14780797a80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17c1fc9fa80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3b19428c542a/disk-727dbda1.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/45ed4d6b4633/vmlinux-727dbda1.xz
kernel image: https://storage.googleapis.com/syzbot-assets/4c3abf020089/bzImage-727dbda1.xz

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

rcu: INFO: rcu_preempt detected expedited stalls on CPUs/tasks: { 0-.... } 2663 jiffies s: 873 root: 0x1/.
rcu: blocking rcu_node structures (internal RCU debug):
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 5177 Comm: syz-executor273 Not tainted 6.5.0-syzkaller-00453-g727dbda16b83 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
RIP: 0010:check_kcov_mode kernel/kcov.c:173 [inline]
RIP: 0010:write_comp_data+0x21/0x90 kernel/kcov.c:236
Code: 2e 0f 1f 84 00 00 00 00 00 65 8b 05 01 b2 7d 7e 49 89 f1 89 c6 49 89 d2 81 e6 00 01 00 00 49 89 f8 65 48 8b 14 25 80 b9 03 00 <a9> 00 01 ff 00 74 0e 85 f6 74 59 8b 82 04 16 00 00 85 c0 74 4f 8b
RSP: 0018:ffffc90000007bb8 EFLAGS: 00000206
RAX: 0000000000000101 RBX: ffffc9000dc0d140 RCX: ffffffff885893b0
RDX: ffff88807c075940 RSI: 0000000000000100 RDI: 0000000000000001
RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffc9000dc0d178
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 0000555555d54380(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6b442f6130 CR3: 000000006fe1c000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<IRQ>
pie_calculate_probability+0x480/0x850 net/sched/sch_pie.c:415
fq_pie_timer+0x1da/0x4f0 net/sched/sch_fq_pie.c:387
call_timer_fn+0x1a0/0x580 kernel/time/timer.c:1700
expire_timers kernel/time/timer.c:1751 [inline]
__run_timers+0x764/0xb10 kernel/time/timer.c:2022
run_timer_softirq+0x58/0xd0 kernel/time/timer.c:2035
__do_softirq+0x218/0x965 kernel/softirq.c:553
invoke_softirq kernel/softirq.c:427 [inline]
__irq_exit_rcu kernel/softirq.c:632 [inline]
irq_exit_rcu+0xb7/0x120 kernel/softirq.c:644
sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1109
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:__x64_sys_close+0x0/0xf0 fs/open.c:1557
Code: 1a 48 83 ec 80 5b 5d 41 5c c3 e8 eb bb f1 ff e9 73 ff ff ff e8 e1 bb f1 ff eb 8b e8 2a 06 4a 08 66 2e 0f 1f 84 00 00 00 00 00 <f3> 0f 1e fa 55 53 48 89 fb e8 c2 81 9d ff 48 8d 7b 70 48 b8 00 00
RSP: 0018:ffffc9000459ff38 EFLAGS: 00000206
RAX: 0000000000000003 RBX: ffffc9000459ff58 RCX: 1ffffffff1d56e59
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: ffffc9000459ff58
RBP: ffffc9000459ff48 R08: 0000000000000001 R09: 0000000000000001
R10: ffffffff8eaba457 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f6b4427b290
Code: ff f7 d8 64 89 02 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 80 3d f1 8d 07 00 00 74 17 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 48 c3 0f 1f 80 00 00 00 00 48 83 ec 18 89 7c
RSP: 002b:00007ffd4ca6aa18 EFLAGS: 00000202 ORIG_RAX: 0000000000000003
RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 00007f6b4427b290
RDX: 0000000000000000 RSI: 00000000200007c0 RDI: 0000000000000005
RBP: 00000000000f4240 R08: 0000000055d55610 R09: 0000000055d55610
R10: 0000000000000000 R11: 0000000000000202 R12: 00000000000220c3
R13: 00007ffd4ca6aa24 R14: 00007ffd4ca6aa40 R15: 00007ffd4ca6aa30
</TASK>
INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 1.831 msecs


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

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

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.

If you want to overwrite bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

Eric Dumazet

unread,
Aug 29, 2023, 6:40:27 AM8/29/23
to syzbot, bra...@kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com, vi...@zeniv.linux.org.uk, edum...@google.com, net...@vger.kernel.org
#syz set subsystems: net

fq_pie_timer() should not attempt to loop over up to 65536 flows,
this takes up to 5 ms on ASAN builds.

Hillf Danton

unread,
Aug 29, 2023, 8:49:45 AM8/29/23
to syzbot, linux-...@vger.kernel.org, syzkall...@googlegroups.com
On 8/29/23 10:53 syzbot wrote:
> HEAD commit: 727dbda16b83 Merge tag 'hardening-v6.6-rc1' of git://git.k..
> git tree: upstream
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17c1fc9fa80000

Check if pie timer is a CPU hog.

#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

--- x/net/sched/sch_fq_pie.c
+++ y/net/sched/sch_fq_pie.c
@@ -383,9 +383,12 @@ static void fq_pie_timer(struct timer_li
root_lock = qdisc_lock(qdisc_root_sleeping(sch));
spin_lock(root_lock);

- for (idx = 0; idx < q->flows_cnt; idx++)
+ for (idx = 0; idx < q->flows_cnt; idx++) {
pie_calculate_probability(&q->p_params, &q->flows[idx].vars,
q->flows[idx].backlog);
+ if (idx > 100)
+ break;
+ }

/* reset the timer to fire after 'tupdate' jiffies. */
if (q->p_params.tupdate)
--

syzbot

unread,
Aug 29, 2023, 9:33:35 AM8/29/23
to hda...@sina.com, linux-...@vger.kernel.org, syzkall...@googlegroups.com
Hello,

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

Reported-and-tested-by: syzbot+e46fbd...@syzkaller.appspotmail.com

Tested on:

commit: 1c59d383 Merge tag 'linux-kselftest-nolibc-6.6-rc1' of..
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
console output: https://syzkaller.appspot.com/x/log.txt?x=1469ebb7a80000
kernel config: https://syzkaller.appspot.com/x/.config?x=9678e210dd5e4a5f
dashboard link: https://syzkaller.appspot.com/bug?extid=e46fbd5289363464bc13
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
patch: https://syzkaller.appspot.com/x/patch.diff?x=12df4c8fa80000

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

syzbot

unread,
Aug 29, 2023, 6:57:27 PM8/29/23
to bra...@kernel.org, da...@davemloft.net, edum...@google.com, eric.d...@gmail.com, gauta...@gmail.com, hda...@sina.com, j...@mojatatu.com, ji...@resnulli.us, ku...@kernel.org, lesli...@gmail.com, linux-...@vger.kernel.org, linux-...@vger.kernel.org, mohitbh...@gmail.com, net...@vger.kernel.org, pab...@redhat.com, sdp.s...@gmail.com, syzkall...@googlegroups.com, tahi...@nitk.edu.in, vi...@zeniv.linux.org.uk, vsaicha...@gmail.com, xiyou.w...@gmail.com
syzbot has bisected this issue to:

commit ec97ecf1ebe485a17cd8395a5f35e6b80b57665a
Author: Mohit P. Tahiliani <tahi...@nitk.edu.in>
Date: Wed Jan 22 18:22:33 2020 +0000

net: sched: add Flow Queue PIE packet scheduler

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=101bb718680000
start commit: 727dbda16b83 Merge tag 'hardening-v6.6-rc1' of git://git.k..
git tree: upstream
final oops: https://syzkaller.appspot.com/x/report.txt?x=121bb718680000
console output: https://syzkaller.appspot.com/x/log.txt?x=141bb718680000
Reported-by: syzbot+e46fbd...@syzkaller.appspotmail.com
Fixes: ec97ecf1ebe4 ("net: sched: add Flow Queue PIE packet scheduler")

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

Eric Dumazet

unread,
Aug 29, 2023, 11:16:51 PM8/29/23
to syzbot, bra...@kernel.org, da...@davemloft.net, eric.d...@gmail.com, gauta...@gmail.com, hda...@sina.com, j...@mojatatu.com, ji...@resnulli.us, ku...@kernel.org, lesli...@gmail.com, linux-...@vger.kernel.org, linux-...@vger.kernel.org, mohitbh...@gmail.com, net...@vger.kernel.org, pab...@redhat.com, sdp.s...@gmail.com, syzkall...@googlegroups.com, tahi...@nitk.edu.in, vi...@zeniv.linux.org.uk, vsaicha...@gmail.com, xiyou.w...@gmail.com
Reply all
Reply to author
Forward
0 new messages