syzbot


INFO: rcu detected stall in fib_nl_newrule

Status: upstream: reported on 2024/10/13 15:53
Reported-by: syzbot+8e544f0b00e59907112a@syzkaller.appspotmail.com
First crash: 50d, last: 50d

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
	(detected by 1, t=10502 jiffies, g=6417, q=930 ncpus=2)
rcu: All QSes seen, last rcu_preempt kthread activity 10503 (4294954102-4294943599), jiffies_till_next_fqs=1, root ->qsmask 0x0
rcu: rcu_preempt kthread starved for 10504 jiffies! g6417 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->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:R  running task     stack:25528 pid:16    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5241 [inline]
 __schedule+0x143f/0x4570 kernel/sched/core.c:6558
 schedule+0xbf/0x180 kernel/sched/core.c:6634
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1965
 rcu_gp_fqs_loop+0x2d2/0x1150 kernel/rcu/tree.c:1706
 rcu_gp_kthread+0xa3/0x3b0 kernel/rcu/tree.c:1905
 kthread+0x28d/0x320 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
CPU: 1 PID: 3824 Comm: syz.4.34 Not tainted 6.1.112-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:stack_trace_consume_entry+0x10d/0x270 kernel/stacktrace.c:93
Code: 8d 1c c3 48 89 d8 48 c1 e8 03 80 3c 10 00 74 1a 4d 89 cf 48 89 df 49 89 d6 49 89 f5 e8 ac c4 69 00 4d 89 f9 4c 89 ee 4c 89 f2 <48> 89 33 41 8b 19 41 0f b6 04 14 84 c0 0f 85 30 01 00 00 3b 5d 00
RSP: 0018:ffffc900001df6b0 EFLAGS: 00000246
RAX: 1ffff9200003bf22 RBX: ffffc900001df910 RCX: ffffffff8fdb3000
RDX: dffffc0000000000 RSI: ffffffff889ef61f RDI: ffffc900001df7ec
RBP: ffffc900001df7e8 R08: 0000000000000012 R09: ffffc900001df7f0
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff9200003befd
R13: 1ffff9200003befd R14: 0000000000000013 R15: 1ffff9200003befe
FS:  00007f602a9f86c0(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6066337a8c CR3: 000000007d0c7000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 arch_stack_walk+0x101/0x140 arch/x86/kernel/stacktrace.c:27
 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:52
 kasan_save_free_info+0x27/0x40 mm/kasan/generic.c:516
 ____kasan_slab_free+0xd6/0x120 mm/kasan/common.c:236
 kasan_slab_free include/linux/kasan.h:177 [inline]
 slab_free_hook mm/slub.c:1724 [inline]
 slab_free_freelist_hook mm/slub.c:1750 [inline]
 slab_free mm/slub.c:3661 [inline]
 kmem_cache_free+0x292/0x510 mm/slub.c:3683
 packet_rcv+0x13b/0x12c0 net/packet/af_packet.c:2294
 dev_queue_xmit_nit+0xabc/0xbf0 net/core/dev.c:2322
 xmit_one net/core/dev.c:3623 [inline]
 dev_hard_start_xmit+0x142/0x8c0 net/core/dev.c:3643
 sch_direct_xmit+0x2b2/0x5e0 net/sched/sch_generic.c:342
 __dev_xmit_skb net/core/dev.c:3854 [inline]
 __dev_queue_xmit+0x1ace/0x3cf0 net/core/dev.c:4259
 NF_HOOK+0x39d/0x450 include/linux/netfilter.h:302
 arp_process+0x139b/0x1ea0 net/ipv4/arp.c:851
 NF_HOOK+0x39d/0x450 include/linux/netfilter.h:302
 __netif_receive_skb_list_ptype net/core/dev.c:5576 [inline]
 __netif_receive_skb_list_core+0x818/0x890 net/core/dev.c:5619
 __netif_receive_skb_list net/core/dev.c:5671 [inline]
 netif_receive_skb_list_internal+0xa0d/0xe20 net/core/dev.c:5762
 gro_normal_list include/net/gro.h:433 [inline]
 gro_normal_one include/net/gro.h:446 [inline]
 napi_skb_finish net/core/gro.c:628 [inline]
 napi_gro_receive+0x4be/0xb60 net/core/gro.c:658
 receive_buf+0x2571/0x5640 drivers/net/virtio_net.c:1297
 virtnet_receive drivers/net/virtio_net.c:1562 [inline]
 virtnet_poll+0x6d5/0x1450 drivers/net/virtio_net.c:1680
 __napi_poll+0xc7/0x470 net/core/dev.c:6537
 napi_poll net/core/dev.c:6604 [inline]
 net_rx_action+0x70f/0xeb0 net/core/dev.c:6718
 handle_softirqs+0x2ee/0xa40 kernel/softirq.c:571
 __do_softirq kernel/softirq.c:605 [inline]
 invoke_softirq kernel/softirq.c:445 [inline]
 __irq_exit_rcu+0x157/0x240 kernel/softirq.c:654
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:666
 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1106
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:653
RIP: 0010:preempt_schedule_irq+0xf2/0x1c0 kernel/sched/core.c:6870
Code: 89 f5 49 c1 ed 03 eb 0d 48 f7 03 08 00 00 00 0f 84 97 00 00 00 bf 01 00 00 00 e8 e9 22 af f6 e8 14 1f e2 f6 fb bf 01 00 00 00 <e8> 79 b4 ff ff 43 80 7c 3d 00 00 74 08 4c 89 f7 e8 d9 de 32 f7 48
RSP: 0018:ffffc90004756ce0 EFLAGS: 00000282
RAX: 9d02c827627fe100 RBX: 1ffff920008eada4 RCX: ffffffff816af0fa
RDX: dffffc0000000000 RSI: ffffffff8b0c0340 RDI: 0000000000000001
RBP: ffffc90004756da0 R08: dffffc0000000000 R09: fffffbfff223ba46
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920008ead9c
R13: 1ffff920008eada0 R14: ffffc90004756d00 R15: dffffc0000000000
 irqentry_exit+0x53/0x80 kernel/entry/common.c:439
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:653
RIP: 0010:memcg_alloc_slab_cgroups+0x82/0x120
Code: 00 48 c1 eb 0d 81 e3 f8 ff 03 00 81 e5 ee 7e bf ff 81 cd 00 01 00 00 48 c1 ea 3a 48 89 df 89 ee e8 93 9f de ff 48 85 c0 74 31 <48> 89 c3 48 89 c5 48 83 cd 01 49 83 c7 38 45 84 f6 74 26 4c 89 f8
RSP: 0018:ffffc90004756e68 EFLAGS: 00000286
RAX: ffff88805cf07400 RBX: 0000000000000170 RCX: 9d02c827627fe100
RDX: dffffc0000000000 RSI: ffffffff8b5d7160 RDI: ffffffff8b5d7120
RBP: 0000000000000dc0 R08: 0000000000000400 R09: fffffbfff223ba46
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: ffff888020ed6500 R14: 0000000000000001 R15: ffffea0001e9e2c0
 account_slab mm/slab.h:635 [inline]
 allocate_slab mm/slub.c:1957 [inline]
 new_slab+0xc0/0x2d0 mm/slub.c:1992
 ___slab_alloc+0xc20/0x1270 mm/slub.c:3180
 __slab_alloc mm/slub.c:3279 [inline]
 slab_alloc_node mm/slub.c:3364 [inline]
 slab_alloc mm/slub.c:3406 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3413 [inline]
 kmem_cache_alloc+0x1a5/0x2d0 mm/slub.c:3422
 fib_trie_unmerge+0x33f/0xee0 net/ipv4/fib_trie.c:1928
 fib_unmerge+0xbd/0x370 net/ipv4/fib_frontend.c:161
 fib4_rule_configure+0x19a/0xb90 net/ipv4/fib_rules.c:242
 fib_nl_newrule+0x1158/0x1c30 net/core/fib_rules.c:814
 rtnetlink_rcv_msg+0x818/0xff0 net/core/rtnetlink.c:6121
 netlink_rcv_skb+0x1cd/0x410 net/netlink/af_netlink.c:2507
 netlink_unicast_kernel net/netlink/af_netlink.c:1326 [inline]
 netlink_unicast+0x7d8/0x970 net/netlink/af_netlink.c:1352
 netlink_sendmsg+0xa26/0xd60 net/netlink/af_netlink.c:1874
 sock_sendmsg_nosec net/socket.c:718 [inline]
 __sock_sendmsg net/socket.c:730 [inline]
 sock_write_iter+0x394/0x4e0 net/socket.c:1143
 call_write_iter include/linux/fs.h:2265 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x857/0xbc0 fs/read_write.c:584
 ksys_write+0x19c/0x2c0 fs/read_write.c:637
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f6029b7dff9
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:00007f602a9f8038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f6029d35f80 RCX: 00007f6029b7dff9
RDX: 0000000000033fe0 RSI: 0000000020000000 RDI: 0000000000000004
RBP: 00007f6029bf0296 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f6029d35f80 R15: 00007ffcfcbe22f8
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/13 15:52 linux-6.1.y aa4cd140bba5 084d8178 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf INFO: rcu detected stall in fib_nl_newrule
* Struck through repros no longer work on HEAD.