syzbot


INFO: rcu detected stall in ip_rcv

Status: auto-closed as invalid on 2020/09/21 12:55
Reported-by: syzbot+9b014b43a8c134739409@syzkaller.appspotmail.com
First crash: 780d, last: 761d
similar bugs (5):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: soft lockup in ip_rcv C error 15 41d 417d 0/1 upstream: reported C repro on 2021/05/04 03:32
upstream INFO: rcu detected stall in ip_rcv 2 1064d 1227d 0/22 auto-closed as invalid on 2019/10/25 14:11
upstream INFO: rcu detected stall in ip_rcv (2) 1 570d 570d 0/22 auto-closed as invalid on 2021/03/01 14:28
linux-4.14 INFO: rcu detected stall in ip_rcv (2) 1 581d 581d 0/1 auto-closed as invalid on 2021/03/20 21:11
upstream INFO: rcu detected stall in ip_rcv (3) 1 432d 432d 0/22 auto-closed as invalid on 2021/07/17 18:11

Sample crash report:
vivid-001: disconnect
device geneve2 entered promiscuous mode
vivid-001: reconnect
INFO: rcu_preempt detected stalls on CPUs/tasks:
	0-...: (1 GPs behind) idle=626/140000000000002/0 softirq=25776/25779 fqs=0 
	1-...: (1 ticks this GP) idle=1a6/140000000000000/0 softirq=27243/27244 fqs=0 
	(detected by 0, t=1 jiffies, g=6244, c=6243, q=498)
NMI backtrace for cpu 0
CPU: 0 PID: 13500 Comm: syz-executor.2 Not tainted 4.14.181-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x1b2/0x283 lib/dump_stack.c:58
 nmi_cpu_backtrace.cold+0x57/0x93 lib/nmi_backtrace.c:101
 nmi_trigger_cpumask_backtrace+0x13a/0x17f lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:158 [inline]
 rcu_dump_cpu_stacks+0x16d/0x1b8 kernel/rcu/tree.c:1396
 print_other_cpu_stall kernel/rcu/tree.c:1485 [inline]
 check_cpu_stall kernel/rcu/tree.c:1616 [inline]
 __rcu_pending kernel/rcu/tree.c:3390 [inline]
 rcu_pending kernel/rcu/tree.c:3452 [inline]
 rcu_check_callbacks.cold+0x7bf/0xdaa kernel/rcu/tree.c:2792
 update_process_times+0x29/0x60 kernel/time/timer.c:1590
 tick_sched_handle.isra.0+0x73/0x150 kernel/time/tick-sched.c:165
 tick_sched_timer+0x41/0x120 kernel/time/tick-sched.c:1223
 __run_hrtimer kernel/time/hrtimer.c:1223 [inline]
 __hrtimer_run_queues+0x24b/0xb90 kernel/time/hrtimer.c:1287
 hrtimer_interrupt+0x1e6/0x5e0 kernel/time/hrtimer.c:1321
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1075 [inline]
 smp_apic_timer_interrupt+0x117/0x5f0 arch/x86/kernel/apic/apic.c:1100
 apic_timer_interrupt+0x93/0xa0 arch/x86/entry/entry_64.S:793
RIP: 0010:orc_find arch/x86/kernel/unwind_orc.c:108 [inline]
RIP: 0010:unwind_next_frame+0x528/0x1700 arch/x86/kernel/unwind_orc.c:345
RSP: 0018:ffff8880aec06a98 EFLAGS: 00000a02 ORIG_RAX: ffffffffffffff10
RAX: 00000000000083d5 RBX: 1ffff11015d80d5a RCX: ffffffff8183d52e
RDX: dffffc0000000000 RSI: 00000000000083d5 RDI: ffffffff89376398
RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000001
R10: ffff8880aec06bd0 R11: 0000000000056071 R12: ffff8880aec06b7d
R13: ffff8880aec06b80 R14: ffff8880aec06b98 R15: ffff8880aec06b48
 __save_stack_trace+0x6b/0xd0 arch/x86/kernel/stacktrace.c:44
 save_stack mm/kasan/kasan.c:447 [inline]
 set_track mm/kasan/kasan.c:459 [inline]
 kasan_kmalloc.part.0+0x4f/0xd0 mm/kasan/kasan.c:551
 slab_post_alloc_hook mm/slab.h:442 [inline]
 slab_alloc mm/slab.c:3390 [inline]
 kmem_cache_alloc+0x111/0x3c0 mm/slab.c:3550
 skb_clone+0x126/0x320 net/core/skbuff.c:1282
 dev_queue_xmit_nit+0x2ee/0x950 net/core/dev.c:1943
 xmit_one net/core/dev.c:3005 [inline]
 dev_hard_start_xmit+0xa8/0x880 net/core/dev.c:3025
 sch_direct_xmit+0x256/0x4f0 net/sched/sch_generic.c:186
 __dev_xmit_skb net/core/dev.c:3218 [inline]
 __dev_queue_xmit+0x1b8d/0x25a0 net/core/dev.c:3493
 neigh_hh_output include/net/neighbour.h:490 [inline]
 neigh_output include/net/neighbour.h:498 [inline]
 ip_finish_output2+0xac5/0x1430 net/ipv4/ip_output.c:229
 ip_finish_output+0x471/0xc20 net/ipv4/ip_output.c:317
 NF_HOOK_COND include/linux/netfilter.h:239 [inline]
 ip_output+0x1cd/0x510 net/ipv4/ip_output.c:405
 dst_output include/net/dst.h:462 [inline]
 ip_local_out+0x93/0x170 net/ipv4/ip_output.c:124
 ip_queue_xmit+0x7ca/0x1a70 net/ipv4/ip_output.c:504
 __tcp_transmit_skb+0x1831/0x2dc0 net/ipv4/tcp_output.c:1131
 __tcp_send_ack.part.0+0x399/0x580 net/ipv4/tcp_output.c:3640
 __tcp_send_ack net/ipv4/tcp_output.c:3646 [inline]
 tcp_send_ack net/ipv4/tcp_output.c:3646 [inline]
 tcp_send_delayed_ack+0x2db/0x3a0 net/ipv4/tcp_output.c:3594
 __tcp_ack_snd_check+0x245/0x380 net/ipv4/tcp_input.c:5148
 tcp_rcv_established+0x1092/0x15e0 net/ipv4/tcp_input.c:5535
 tcp_v4_do_rcv+0x56c/0x800 net/ipv4/tcp_ipv4.c:1467
 tcp_v4_rcv+0x2821/0x36a0 net/ipv4/tcp_ipv4.c:1741
 ip_local_deliver_finish+0x3f2/0xab0 net/ipv4/ip_input.c:216
 NF_HOOK include/linux/netfilter.h:250 [inline]
 ip_local_deliver+0x167/0x460 net/ipv4/ip_input.c:257
 dst_input include/net/dst.h:468 [inline]
 ip_rcv_finish+0x6e1/0x1a00 net/ipv4/ip_input.c:396
 NF_HOOK include/linux/netfilter.h:250 [inline]
 ip_rcv+0x8d3/0xf3f net/ipv4/ip_input.c:493
 __netif_receive_skb_core+0x1e8e/0x2c10 net/core/dev.c:4478
 __netif_receive_skb+0x27/0x1a0 net/core/dev.c:4516
 netif_receive_skb_internal+0xd7/0x580 net/core/dev.c:4589
 napi_skb_finish net/core/dev.c:4950 [inline]
 napi_gro_receive+0x2e2/0x400 net/core/dev.c:4981
 receive_buf+0x5fb/0x4610 drivers/net/virtio_net.c:852
 virtnet_receive drivers/net/virtio_net.c:1098 [inline]
 virtnet_poll+0x4d3/0x9c0 drivers/net/virtio_net.c:1189
 napi_poll net/core/dev.c:5599 [inline]
 net_rx_action+0x456/0xe80 net/core/dev.c:5665
 __do_softirq+0x254/0x9bf kernel/softirq.c:288
 invoke_softirq kernel/softirq.c:368 [inline]
 irq_exit+0x15b/0x1a0 kernel/softirq.c:409
 exiting_irq arch/x86/include/asm/apic.h:648 [inline]
 do_IRQ+0x112/0x1d0 arch/x86/kernel/irq.c:242
 common_interrupt+0x93/0x93 arch/x86/entry/entry_64.S:576
 </IRQ>
RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:169 [inline]
RIP: 0010:_raw_spin_unlock_irq+0x50/0x90 kernel/locking/spinlock.c:200
RSP: 0018:ffff888088217738 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff6e
RAX: 1ffffffff0f62cab RBX: 0000000000000002 RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffff88806c204a44
RBP: ffff8880aec2b580 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88806c2041c0
R13: ffff8880aec2b580 R14: ffff8880882177b0 R15: ffff88806c2041c0
 rq_unlock_irq kernel/sched/sched.h:1772 [inline]
 __schedule+0x146a/0x1d70 kernel/sched/core.c:3387
 preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:3508
 ___preempt_schedule+0x16/0x18
 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
 _raw_spin_unlock_irqrestore+0xaf/0xe0 kernel/locking/spinlock.c:192
 __debug_check_no_obj_freed lib/debugobjects.c:760 [inline]
 debug_check_no_obj_freed+0x27c/0x5fd lib/debugobjects.c:776
 free_pages_prepare mm/page_alloc.c:1063 [inline]
 free_pcp_prepare mm/page_alloc.c:1077 [inline]
 free_hot_cold_page+0x224/0xc90 mm/page_alloc.c:2609
 __vunmap+0x1b3/0x330 mm/vmalloc.c:1545
 vfree+0x4b/0xd0 mm/vmalloc.c:1612
 kcov_put kernel/kcov.c:104 [inline]
 kcov_put+0x13/0x20 kernel/kcov.c:101
 kcov_close+0xc/0x10 kernel/kcov.c:188
 __fput+0x25f/0x7a0 fs/file_table.c:210
 task_work_run+0x113/0x190 kernel/task_work.c:113
 exit_task_work include/linux/task_work.h:22 [inline]
 do_exit+0x9fb/0x2ae0 kernel/exit.c:858
 do_group_exit+0x100/0x2e0 kernel/exit.c:955
 get_signal+0x385/0x1c90 kernel/signal.c:2423
 do_signal+0x7c/0x15d0 arch/x86/kernel/signal.c:814
 exit_to_usermode_loop+0x160/0x200 arch/x86/entry/common.c:160
 prepare_exit_to_usermode arch/x86/entry/common.c:199 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:270 [inline]
 do_syscall_64+0x4a3/0x640 arch/x86/entry/common.c:297
 entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x45ca29
RSP: 002b:00007fe0f0e78c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: ffffffffffffffea RBX: 00000000004da8c0 RCX: 000000000045ca29
RDX: 0000000000000048 RSI: 00000000200054c0 RDI: 0000000000000005
RBP: 000000000078bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 000000000000006a R14: 00000000004c32b4 R15: 00007fe0f0e796d4
vivid-001: disconnect
vivid-007: disconnect
device geneve2 entered promiscuous mode
device geneve2 entered promiscuous mode
vivid-007: reconnect
vivid-001: reconnect
vivid-001: disconnect
vivid-007: disconnect
device geneve2 entered promiscuous mode
device geneve2 entered promiscuous mode
device geneve2 entered promiscuous mode
bridge3: port 1(vlan0) entered disabled state
batman_adv: batadv0: Interface deactivated: batadv_slave_0
vivid-001: reconnect
vivid-007: reconnect
batman_adv: batadv0: Removing interface: batadv_slave_0
batman_adv: batadv0: Interface deactivated: batadv_slave_1
batman_adv: batadv0: Removing interface: batadv_slave_1
device bridge_slave_1 left promiscuous mode
bridge0: port 2(bridge_slave_1) entered disabled state
device bridge_slave_0 left promiscuous mode
bridge0: port 1(bridge_slave_0) entered disabled state
device veth1_macvtap left promiscuous mode
device veth0_macvtap left promiscuous mode
device veth1_vlan left promiscuous mode
device veth0_vlan left promiscuous mode
device hsr_slave_1 left promiscuous mode
device hsr_slave_0 left promiscuous mode
team0 (unregistering): Port device team_slave_1 removed
team0 (unregistering): Port device team_slave_0 removed
bond0 (unregistering): Releasing backup interface bond_slave_1
bond0 (unregistering): Releasing backup interface bond_slave_0
bond0 (unregistering): Released all slaves
syz-executor.0 (13626) used greatest stack depth: 24896 bytes left
vivid-001: disconnect
vivid-007: disconnect
device geneve2 entered promiscuous mode
device geneve2 entered promiscuous mode
device geneve2 entered promiscuous mode
vivid-007: reconnect
vivid-001: reconnect
IPVS: ftp: loaded support on port[0] = 21
IPVS: ftp: loaded support on port[0] = 21
chnl_net:caif_netlink_parms(): no params data found
chnl_net:caif_netlink_parms(): no params data found
bridge0: port 1(bridge_slave_0) entered blocking state
bridge0: port 1(bridge_slave_0) entered disabled state
device bridge_slave_0 entered promiscuous mode
bridge0: port 2(bridge_slave_1) entered blocking state
bridge0: port 2(bridge_slave_1) entered disabled state
device bridge_slave_1 entered promiscuous mode
bond0: Enslaving bond_slave_0 as an active interface with an up link
bond0: Enslaving bond_slave_1 as an active interface with an up link
bridge0: port 1(bridge_slave_0) entered blocking state
bridge0: port 1(bridge_slave_0) entered disabled state
device bridge_slave_0 entered promiscuous mode
bridge0: port 2(bridge_slave_1) entered blocking state
bridge0: port 2(bridge_slave_1) entered disabled state
device bridge_slave_1 entered promiscuous mode
IPv6: ADDRCONF(NETDEV_UP): team_slave_0: link is not ready
team0: Port device team_slave_0 added
IPv6: ADDRCONF(NETDEV_UP): team_slave_1: link is not ready
team0: Port device team_slave_1 added
bond0: Enslaving bond_slave_0 as an active interface with an up link
batman_adv: batadv0: Adding interface: batadv_slave_0
batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem.
batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
bond0: Enslaving bond_slave_1 as an active interface with an up link
batman_adv: batadv0: Adding interface: batadv_slave_1
batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem.
batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
IPv6: ADDRCONF(NETDEV_UP): bridge_slave_0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): team_slave_0: link is not ready
team0: Port device team_slave_0 added
IPv6: ADDRCONF(NETDEV_UP): team_slave_1: link is not ready
team0: Port device team_slave_1 added
IPv6: ADDRCONF(NETDEV_UP): bridge_slave_1: link is not ready
batman_adv: batadv0: Adding interface: batadv_slave_0
batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem.
batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
device hsr_slave_0 entered promiscuous mode
device hsr_slave_1 entered promiscuous mode
batman_adv: batadv0: Adding interface: batadv_slave_1
batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem.
batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
IPv6: ADDRCONF(NETDEV_UP): hsr_slave_0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): hsr_slave_1: link is not ready
IPv6: ADDRCONF(NETDEV_UP): bridge_slave_0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): bridge_slave_1: link is not ready
device hsr_slave_0 entered promiscuous mode
device hsr_slave_1 entered promiscuous mode
batman_adv: batadv0: Interface deactivated: batadv_slave_0
batman_adv: batadv0: Removing interface: batadv_slave_0
batman_adv: batadv0: Interface deactivated: batadv_slave_1
batman_adv: batadv0: Removing interface: batadv_slave_1
device bridge_slave_1 left promiscuous mode
bridge0: port 2(bridge_slave_1) entered disabled state
device bridge_slave_0 left promiscuous mode
bridge0: port 1(bridge_slave_0) entered disabled state
device veth1_macvtap left promiscuous mode
device veth0_macvtap left promiscuous mode
device veth1_vlan left promiscuous mode
device veth0_vlan left promiscuous mode
device hsr_slave_1 left promiscuous mode
device hsr_slave_0 left promiscuous mode
@ (unregistering): Port device team_slave_1 removed
@ (unregistering): Port device team_slave_0 removed
bond0 (unregistering): Releasing backup interface bond_slave_1
bond0 (unregistering): Releasing backup interface bond_slave_0
bond0 (unregistering): Released all slaves
IPv6: ADDRCONF(NETDEV_UP): hsr_slave_0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): hsr_slave_1: link is not ready
IPv6: ADDRCONF(NETDEV_UP): bridge0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): bridge0: link is not ready
8021q: adding VLAN 0 to HW filter on device bond0
IPv6: ADDRCONF(NETDEV_UP): veth0: link is not ready
IPv6: ADDRCONF(NETDEV_UP): veth1: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): team0: link is not ready
8021q: adding VLAN 0 to HW filter on device team0
IPv6: ADDRCONF(NETDEV_UP): veth0_to_bridge: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready
bridge0: port 1(bridge_slave_0) entered blocking state
bridge0: port 1(bridge_slave_0) entered forwarding state
IPv6: ADDRCONF(NETDEV_UP): veth1_to_bridge: link is not ready
8021q: adding VLAN 0 to HW filter on device bond0
IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready
bridge0: port 2(bridge_slave_1) entered blocking state
bridge0: port 2(bridge_slave_1) entered forwarding state
IPv6: ADDRCONF(NETDEV_UP): veth0_to_bond: link is not ready
IPv6: ADDRCONF(NETDEV_UP): veth0: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): veth1_to_bond: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): veth1: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): team0: link is not ready
8021q: adding VLAN 0 to HW filter on device team0
IPv6: ADDRCONF(NETDEV_UP): veth0_to_team: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): veth0_to_bridge: link is not ready
IPv6: ADDRCONF(NETDEV_UP): veth1_to_team: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready
bridge0: port 1(bridge_slave_0) entered blocking state
bridge0: port 1(bridge_slave_0) entered forwarding state
IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): veth1_to_bridge: link is not ready
IPv6: ADDRCONF(NETDEV_UP): veth0_to_hsr: link is not ready
IPv6: ADDRCONF(NETDEV_UP): veth1_to_hsr: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready

Crashes (3):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-linux-4-14 2020/05/24 12:54 linux-4.14.y a41ba30d9df2 ce7ca010 .config log report
ci2-linux-4-14 2020/05/07 09:54 linux-4.14.y d71f695ce745 98cbd87b .config log report
ci2-linux-4-14 2020/05/05 18:01 linux-4.14.y d71f695ce745 4b76dd25 .config log report