syzbot


INFO: rcu detected stall in sys_sendfile64

Status: upstream: reported on 2024/07/26 00:47
Reported-by: syzbot+51a8650f0c14d1a35e52@syzkaller.appspotmail.com
First crash: 76d, last: 76d
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in sys_sendfile64 (3) mm 2 898d 898d 0/28 auto-closed as invalid on 2022/06/25 08:10
upstream INFO: rcu detected stall in sys_sendfile64 (4) net 1 639d 639d 0/28 auto-obsoleted due to no activity on 2023/04/18 07:19
upstream INFO: rcu detected stall in sys_sendfile64 lsm C 4 2122d 2122d 0/28 closed as invalid on 2018/12/19 10:12
upstream INFO: rcu detected stall in sys_sendfile64 (2) C done error 100 1008d 2091d 0/28 closed as invalid on 2022/02/08 10:47
linux-4.19 INFO: rcu detected stall in sys_sendfile64 (2) 3 1667d 1718d 0/1 auto-closed as invalid on 2020/07/16 06:45
linux-6.1 INFO: rcu detected stall in sys_sendfile64 1 513d 513d 0/3 auto-obsoleted due to no activity on 2023/08/24 12:36
upstream INFO: rcu detected stall in sys_sendfile64 (5) fs 1 330d 330d 0/28 auto-obsoleted due to no activity on 2024/01/14 10:13
linux-4.19 INFO: rcu detected stall in sys_sendfile64 1 2001d 2001d 0/1 auto-closed as invalid on 2019/10/16 04:09

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	1-...!: (10501 ticks this GP) idle=f93/1/0x4000000000000000 softirq=5821/5821 fqs=0 
	(t=10502 jiffies g=6085 q=510)
rcu: rcu_preempt kthread timer wakeup didn't happen for 10502 jiffies! g6085 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: 	Possible timer handling issue on cpu=1 timer-softirq=3391
rcu: rcu_preempt kthread starved for 10505 jiffies! g6085 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=1
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:I stack:26816 pid:   15 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
 schedule+0x11b/0x1f0 kernel/sched/core.c:6459
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1914
 rcu_gp_fqs_loop+0x2bf/0x1080 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0xa4/0x360 kernel/rcu/tree.c:2145
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
NMI backtrace for cpu 1
CPU: 1 PID: 3782 Comm: syz.2.40 Not tainted 5.15.163-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2d0 lib/dump_stack.c:106
 nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
 rcu_check_gp_kthread_starvation+0x1d2/0x240 kernel/rcu/tree_stall.h:487
 print_cpu_stall+0x31b/0x600 kernel/rcu/tree_stall.h:631
 check_cpu_stall kernel/rcu/tree_stall.h:727 [inline]
 rcu_pending kernel/rcu/tree.c:3932 [inline]
 rcu_sched_clock_irq+0x8d9/0x1150 kernel/rcu/tree.c:2619
 update_process_times+0x196/0x200 kernel/time/timer.c:1818
 tick_sched_handle kernel/time/tick-sched.c:254 [inline]
 tick_sched_timer+0x386/0x550 kernel/time/tick-sched.c:1473
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x55b/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x60 kernel/kcov.c:193
Code: 1f 84 00 00 00 00 00 0f 1f 00 53 48 89 fb e8 17 00 00 00 48 8b 3d 98 ef 68 0c 48 89 de 5b e9 77 fb 48 00 cc cc cc cc cc cc cc <48> 8b 04 24 65 48 8b 0d a4 11 82 7e 65 8b 15 a5 11 82 7e f7 c2 00
RSP: 0018:ffffc90003256f98 EFLAGS: 00000202
RAX: 0000000000000002 RBX: 0000000000000001 RCX: ffffc90003257003
RDX: ffff88801b725940 RSI: 0000000000000001 RDI: 00000000ffffffff
RBP: ffffc90003257090 R08: ffffffff8901770c R09: ffffed100bce190e
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff9200064ae04
R13: ffff88805e70c868 R14: 0000000000000000 R15: 0000000000000000
 __refcount_add_not_zero include/linux/refcount.h:162 [inline]
 __refcount_inc_not_zero include/linux/refcount.h:227 [inline]
 refcount_inc_not_zero include/linux/refcount.h:245 [inline]
 xfrm_pol_hold_rcu net/xfrm/xfrm_policy.c:194 [inline]
 xfrm_sk_policy_lookup+0x4aa/0x800 net/xfrm/xfrm_policy.c:2184
 xfrm_lookup_with_ifid+0x23f/0x2420 net/xfrm/xfrm_policy.c:3050
 xfrm_lookup net/xfrm/xfrm_policy.c:3192 [inline]
 xfrm_lookup_route+0x38/0x1a0 net/xfrm/xfrm_policy.c:3203
 ip_route_output_ports include/net/route.h:169 [inline]
 __ip_queue_xmit+0x88e/0x1ce0 net/ipv4/ip_output.c:488
 l2tp_xmit_queue net/l2tp/l2tp_core.c:1007 [inline]
 l2tp_xmit_core net/l2tp/l2tp_core.c:1093 [inline]
 l2tp_xmit_skb+0xf9a/0x1750 net/l2tp/l2tp_core.c:1109
 pppol2tp_sendmsg+0x388/0x5f0 net/l2tp/l2tp_ppp.c:319
 sock_sendmsg_nosec net/socket.c:704 [inline]
 __sock_sendmsg net/socket.c:716 [inline]
 sock_sendmsg net/socket.c:739 [inline]
 kernel_sendmsg+0x205/0x2e0 net/socket.c:763
 sock_no_sendpage+0x156/0x1c0 net/core/sock.c:3036
 kernel_sendpage+0x25f/0x390 net/socket.c:3536
 sock_sendpage+0x7f/0xb0 net/socket.c:1025
 pipe_to_sendpage+0x260/0x350 fs/splice.c:364
 splice_from_pipe_feed fs/splice.c:418 [inline]
 __splice_from_pipe+0x33b/0x890 fs/splice.c:562
 splice_from_pipe fs/splice.c:597 [inline]
 generic_splice_sendpage+0x195/0x220 fs/splice.c:746
 do_splice_from fs/splice.c:767 [inline]
 direct_splice_actor+0xe3/0x1c0 fs/splice.c:936
 splice_direct_to_actor+0x500/0xc10 fs/splice.c:891
 do_splice_direct+0x285/0x3d0 fs/splice.c:979
 do_sendfile+0x622/0x1000 fs/read_write.c:1249
 __do_sys_sendfile64 fs/read_write.c:1317 [inline]
 __se_sys_sendfile64+0x178/0x1e0 fs/read_write.c:1303
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fa8a34d8299
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:00007fa8a1936048 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007fa8a3667058 RCX: 00007fa8a34d8299
RDX: 0000000000000000 RSI: 000000000000000b RDI: 000000000000000c
RBP: 00007fa8a35458e6 R08: 0000000000000000 R09: 0000000000000000
R10: 000080001d00c0d0 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007fa8a3667058 R15: 00007fffd5b840c8
 </TASK>
NMI backtrace for cpu 1
CPU: 1 PID: 3782 Comm: syz.2.40 Not tainted 5.15.163-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2d0 lib/dump_stack.c:106
 nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
 rcu_dump_cpu_stacks+0x223/0x390 kernel/rcu/tree_stall.h:349
 print_cpu_stall+0x320/0x600 kernel/rcu/tree_stall.h:633
 check_cpu_stall kernel/rcu/tree_stall.h:727 [inline]
 rcu_pending kernel/rcu/tree.c:3932 [inline]
 rcu_sched_clock_irq+0x8d9/0x1150 kernel/rcu/tree.c:2619
 update_process_times+0x196/0x200 kernel/time/timer.c:1818
 tick_sched_handle kernel/time/tick-sched.c:254 [inline]
 tick_sched_timer+0x386/0x550 kernel/time/tick-sched.c:1473
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x55b/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x60 kernel/kcov.c:193
Code: 1f 84 00 00 00 00 00 0f 1f 00 53 48 89 fb e8 17 00 00 00 48 8b 3d 98 ef 68 0c 48 89 de 5b e9 77 fb 48 00 cc cc cc cc cc cc cc <48> 8b 04 24 65 48 8b 0d a4 11 82 7e 65 8b 15 a5 11 82 7e f7 c2 00
RSP: 0018:ffffc90003256f98 EFLAGS: 00000202
RAX: 0000000000000002 RBX: 0000000000000001 RCX: ffffc90003257003
RDX: ffff88801b725940 RSI: 0000000000000001 RDI: 00000000ffffffff
RBP: ffffc90003257090 R08: ffffffff8901770c R09: ffffed100bce190e
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff9200064ae04
R13: ffff88805e70c868 R14: 0000000000000000 R15: 0000000000000000
 __refcount_add_not_zero include/linux/refcount.h:162 [inline]
 __refcount_inc_not_zero include/linux/refcount.h:227 [inline]
 refcount_inc_not_zero include/linux/refcount.h:245 [inline]
 xfrm_pol_hold_rcu net/xfrm/xfrm_policy.c:194 [inline]
 xfrm_sk_policy_lookup+0x4aa/0x800 net/xfrm/xfrm_policy.c:2184
 xfrm_lookup_with_ifid+0x23f/0x2420 net/xfrm/xfrm_policy.c:3050
 xfrm_lookup net/xfrm/xfrm_policy.c:3192 [inline]
 xfrm_lookup_route+0x38/0x1a0 net/xfrm/xfrm_policy.c:3203
 ip_route_output_ports include/net/route.h:169 [inline]
 __ip_queue_xmit+0x88e/0x1ce0 net/ipv4/ip_output.c:488
 l2tp_xmit_queue net/l2tp/l2tp_core.c:1007 [inline]
 l2tp_xmit_core net/l2tp/l2tp_core.c:1093 [inline]
 l2tp_xmit_skb+0xf9a/0x1750 net/l2tp/l2tp_core.c:1109
 pppol2tp_sendmsg+0x388/0x5f0 net/l2tp/l2tp_ppp.c:319
 sock_sendmsg_nosec net/socket.c:704 [inline]
 __sock_sendmsg net/socket.c:716 [inline]
 sock_sendmsg net/socket.c:739 [inline]
 kernel_sendmsg+0x205/0x2e0 net/socket.c:763
 sock_no_sendpage+0x156/0x1c0 net/core/sock.c:3036
 kernel_sendpage+0x25f/0x390 net/socket.c:3536
 sock_sendpage+0x7f/0xb0 net/socket.c:1025
 pipe_to_sendpage+0x260/0x350 fs/splice.c:364
 splice_from_pipe_feed fs/splice.c:418 [inline]
 __splice_from_pipe+0x33b/0x890 fs/splice.c:562
 splice_from_pipe fs/splice.c:597 [inline]
 generic_splice_sendpage+0x195/0x220 fs/splice.c:746
 do_splice_from fs/splice.c:767 [inline]
 direct_splice_actor+0xe3/0x1c0 fs/splice.c:936
 splice_direct_to_actor+0x500/0xc10 fs/splice.c:891
 do_splice_direct+0x285/0x3d0 fs/splice.c:979
 do_sendfile+0x622/0x1000 fs/read_write.c:1249
 __do_sys_sendfile64 fs/read_write.c:1317 [inline]
 __se_sys_sendfile64+0x178/0x1e0 fs/read_write.c:1303
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fa8a34d8299
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:00007fa8a1936048 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007fa8a3667058 RCX: 00007fa8a34d8299
RDX: 0000000000000000 RSI: 000000000000000b RDI: 000000000000000c
RBP: 00007fa8a35458e6 R08: 0000000000000000 R09: 0000000000000000
R10: 000080001d00c0d0 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007fa8a3667058 R15: 00007fffd5b840c8
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/26 00:46 linux-5.15.y 7c6d66f0266f 3f86dfed .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: rcu detected stall in sys_sendfile64
* Struck through repros no longer work on HEAD.