syzbot


INFO: rcu detected stall in ipv6_list_rcv

Status: auto-closed as invalid on 2021/03/09 05:51
Subsystems: trace
[Documentation on labels]
First crash: 1235d, last: 1234d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in ipv6_list_rcv (2) net 1 933d 933d 0/26 auto-closed as invalid on 2021/12/05 01:49

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
	(detected by 0, t=10502 jiffies, g=74465, q=226)
rcu: All QSes seen, last rcu_preempt kthread activity 10502 (4295011032-4295000530), jiffies_till_next_fqs=1, root ->qsmask 0x0
rcu: rcu_preempt kthread starved for 10502 jiffies! g74465 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
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:28880 pid:   11 ppid:     2 flags:0x00004000
Call Trace:
 context_switch kernel/sched/core.c:3779 [inline]
 __schedule+0x893/0x2130 kernel/sched/core.c:4528
 schedule+0xcf/0x270 kernel/sched/core.c:4606
 schedule_timeout+0x148/0x250 kernel/time/timer.c:1871
 rcu_gp_fqs_loop kernel/rcu/tree.c:1925 [inline]
 rcu_gp_kthread+0xb4c/0x1c90 kernel/rcu/tree.c:2099
 kthread+0x3b1/0x4a0 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296

================================
WARNING: inconsistent lock state
5.10.0-rc7-syzkaller #0 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
syz-executor.0/22928 [HC0[0]:SC1[1]:HE0:SE0] takes:
ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: print_other_cpu_stall kernel/rcu/tree_stall.h:487 [inline]
ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: check_cpu_stall kernel/rcu/tree_stall.h:646 [inline]
ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: rcu_pending kernel/rcu/tree.c:3694 [inline]
ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: rcu_sched_clock_irq.cold+0xbc/0xee8 kernel/rcu/tree.c:2567
{IN-HARDIRQ-W} state was registered at:
  lock_acquire kernel/locking/lockdep.c:5437 [inline]
  lock_acquire+0x29d/0x740 kernel/locking/lockdep.c:5402
  __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
  _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159
  rcu_report_exp_cpu_mult+0x72/0x320 kernel/rcu/tree_exp.h:237
  flush_smp_call_function_queue+0x34b/0x640 kernel/smp.c:425
  __sysvec_call_function_single+0x95/0x3d0 arch/x86/kernel/smp.c:248
  asm_call_irq_on_stack+0xf/0x20
  __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline]
  run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline]
  sysvec_call_function_single+0xbd/0x100 arch/x86/kernel/smp.c:243
  asm_sysvec_call_function_single+0x12/0x20 arch/x86/include/asm/idtentry.h:639
  __get_user_pages_remote+0x2/0x7a0 mm/gup.c:1790
  get_user_pages_remote+0x63/0x90 mm/gup.c:1883
  get_arg_page+0xba/0x200 fs/exec.c:222
  copy_string_kernel+0x1b4/0x520 fs/exec.c:633
  kernel_execve+0x25c/0x460 fs/exec.c:1956
  call_usermodehelper_exec_async+0x2de/0x580 kernel/umh.c:110
  ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296
irq event stamp: 39300861
hardirqs last  enabled at (39300860): [<ffffffff89000d42>] asm_sysvec_irq_work+0x12/0x20 arch/x86/include/asm/idtentry.h:657
hardirqs last disabled at (39300861): [<ffffffff88e57c2c>] sysvec_apic_timer_interrupt+0xc/0x100 arch/x86/kernel/apic/apic.c:1091
softirqs last  enabled at (35434900): [<ffffffff89000eaf>] asm_call_irq_on_stack+0xf/0x20
softirqs last disabled at (35434903): [<ffffffff89000eaf>] asm_call_irq_on_stack+0xf/0x20

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(rcu_node_0);
  <Interrupt>
    lock(rcu_node_0);

 *** DEADLOCK ***

4 locks held by syz-executor.0/22928:
 #0: ffff888057a752b8 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:354 [inline]
 #0: ffff888057a752b8 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: zap_pte_range mm/memory.c:1211 [inline]
 #0: ffff888057a752b8 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: zap_pmd_range mm/memory.c:1357 [inline]
 #0: ffff888057a752b8 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: zap_pud_range mm/memory.c:1386 [inline]
 #0: ffff888057a752b8 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: zap_p4d_range mm/memory.c:1407 [inline]
 #0: ffff888057a752b8 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: unmap_page_range+0x7fe/0x2640 mm/memory.c:1428
 #1: ffffffff8b3378e0 (rcu_read_lock){....}-{1:2}, at: INIT_LIST_HEAD include/linux/list.h:36 [inline]
 #1: ffffffff8b3378e0 (rcu_read_lock){....}-{1:2}, at: list_splice_init include/linux/list.h:483 [inline]
 #1: ffffffff8b3378e0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_list_internal+0x31d/0xd70 net/core/dev.c:5547
 #2: ffffffff8b3378e0 (rcu_read_lock){....}-{1:2}, at: NF_HOOK_LIST.constprop.0+0xc7/0x330 include/linux/netfilter.h:340
 #3: ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: print_other_cpu_stall kernel/rcu/tree_stall.h:487 [inline]
 #3: ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: check_cpu_stall kernel/rcu/tree_stall.h:646 [inline]
 #3: ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: rcu_pending kernel/rcu/tree.c:3694 [inline]
 #3: ffffffff8b33f998 (rcu_node_0){?.-.}-{2:2}, at: rcu_sched_clock_irq.cold+0xbc/0xee8 kernel/rcu/tree.c:2567

stack backtrace:
CPU: 0 PID: 22928 Comm: syz-executor.0 Not tainted 5.10.0-rc7-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:77 [inline]
 dump_stack+0x107/0x163 lib/dump_stack.c:118
 print_usage_bug kernel/locking/lockdep.c:3740 [inline]
 valid_state kernel/locking/lockdep.c:3751 [inline]
 mark_lock_irq kernel/locking/lockdep.c:3954 [inline]
 mark_lock.cold+0x31/0x73 kernel/locking/lockdep.c:4411
 mark_held_locks+0x9f/0xe0 kernel/locking/lockdep.c:4012
 __trace_hardirqs_on_caller kernel/locking/lockdep.c:4030 [inline]
 lockdep_hardirqs_on_prepare kernel/locking/lockdep.c:4098 [inline]
 lockdep_hardirqs_on_prepare+0x135/0x400 kernel/locking/lockdep.c:4050
 trace_hardirqs_on+0x5b/0x1c0 kernel/trace/trace_preemptirq.c:49
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631
RIP: 0010:__rcu_read_unlock+0x86/0x470 kernel/rcu/tree_plugin.h:402
Code: 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 84 01 00 00 8b 85 84 03 00 00 85 c0 75 4a 65 48 8b 2c 25 00 f0 01 00 <48> 8d bd 80 03 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1
RSP: 0018:ffffc900000079f0 EFLAGS: 00000202
RAX: 0000000000000000 RBX: 1ffff92000000f44 RCX: ffffffff87a1d431
RDX: 1ffff110022973b8 RSI: ffffffff87a1d392 RDI: ffff8880114b9dc0
RBP: ffff8880114b9a40 R08: 0000000000000001 R09: ffffc90000007a50
R10: 0000000000000000 R11: 0000000000000001 R12: ffffc90000007b48
R13: ffff88802119c000 R14: ffff8881448eb100 R15: 0000000000000001
 rcu_read_unlock include/linux/rcupdate.h:694 [inline]
 NF_HOOK_LIST.constprop.0+0x207/0x330 include/linux/netfilter.h:339
 ip6_sublist_rcv net/ipv6/ip6_input.c:315 [inline]
 ipv6_list_rcv+0x345/0x490 net/ipv6/ip6_input.c:352
 __netif_receive_skb_list_ptype net/core/dev.c:5354 [inline]
 __netif_receive_skb_list_core+0x549/0x8e0 net/core/dev.c:5402
 __netif_receive_skb_list net/core/dev.c:5454 [inline]
 netif_receive_skb_list_internal+0x777/0xd70 net/core/dev.c:5564
 netif_receive_skb_list+0x54/0x5b0 net/core/dev.c:5616
 ieee80211_rx_napi+0x344/0x3d0 net/mac80211/rx.c:4784
 ieee80211_rx include/net/mac80211.h:4502 [inline]
 ieee80211_tasklet_handler+0xd3/0x130 net/mac80211/main.c:235
 tasklet_action_common.constprop.0+0x22f/0x2d0 kernel/softirq.c:560
 __do_softirq+0x2a0/0x9f6 kernel/softirq.c:298
 asm_call_irq_on_stack+0xf/0x20
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0xaa/0xd0 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:393 [inline]
 __irq_exit_rcu kernel/softirq.c:423 [inline]
 irq_exit_rcu+0x132/0x200 kernel/softirq.c:435
 sysvec_apic_timer_interrupt+0x4d/0x100 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631
RIP: 0010:lockdep_enabled kernel/locking/lockdep.c:84 [inline]
RIP: 0010:lock_release+0xd4/0x710 kernel/locking/lockdep.c:5450
Code: 82 4e 04 00 00 48 c7 c3 1c e0 ec 8c 48 b8 00 00 00 00 00 fc ff df 48 89 da 48 c1 ea 03 0f b6 14 02 48 89 d8 83 e0 07 83 c0 03 <38> d0 7c 08 84 d2 0f 85 47 05 00 00 44 8b 15 55 ba 96 0b 45 85 d2
RSP: 0018:ffffc90001c9f6c0 EFLAGS: 00000202
RAX: 0000000000000007 RBX: ffffffff8cece01c RCX: 1ffffffff19d9c03
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000
RBP: 1ffff92000393eda R08: 0000000000000000 R09: ffffffff8cecae4f
R10: fffffbfff19d95c9 R11: 0000000000000000 R12: ffff888057a752b8
R13: 0000000000000000 R14: dffffc0000000000 R15: 000000000101b000
 __raw_spin_unlock include/linux/spinlock_api_smp.h:150 [inline]
 _raw_spin_unlock+0x12/0x40 kernel/locking/spinlock.c:183
 spin_unlock include/linux/spinlock.h:394 [inline]
 zap_pte_range mm/memory.c:1309 [inline]
 zap_pmd_range mm/memory.c:1357 [inline]
 zap_pud_range mm/memory.c:1386 [inline]
 zap_p4d_range mm/memory.c:1407 [inline]
 unmap_page_range+0xf98/0x2640 mm/memory.c:1428
 unmap_single_vma+0x198/0x300 mm/memory.c:1473
 unmap_vmas+0x168/0x2e0 mm/memory.c:1505
 exit_mmap+0x2b1/0x530 mm/mmap.c:3220
 __mmput+0x122/0x470 kernel/fork.c:1079
 mmput+0x53/0x60 kernel/fork.c:1100
 exit_mm kernel/exit.c:486 [inline]
 do_exit+0xa72/0x29b0 kernel/exit.c:796
 do_group_exit+0x125/0x310 kernel/exit.c:906
 get_signal+0x42a/0x1f10 kernel/signal.c:2758
 arch_do_signal+0x82/0x2390 arch/x86/kernel/signal.c:811
 exit_to_user_mode_loop kernel/entry/common.c:161 [inline]
 exit_to_user_mode_prepare+0x100/0x1a0 kernel/entry/common.c:191
 syscall_exit_to_user_mode+0x38/0x260 kernel/entry/common.c:266
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x45e0f9
Code: Unable to access opcode bytes at RIP 0x45e0cf.
RSP: 002b:00007f632f8c0c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
RAX: 0000000020ffc000 RBX: 0000000000000006 RCX: 000000000045e0f9
RDX: 0000000000000000 RSI: 0000000000003000 RDI: 0000000020ffc000
RBP: 000000000119bfd8 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000011 R11: 0000000000000246 R12: 000000000119bf8c
R13: 00007fff5f696b9f R14: 00007f632f8c19c0 R15: 000000000119bf8c
softirq: huh, entered softirq 6 TASKLET 00000000818f698d with preempt_count 00000101, exited with 00000102?

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/12/09 05:43 upstream 7d8761ba27fc 40cc414d .config console log report info ci-upstream-kasan-gce-root
2020/12/08 01:24 upstream cd796ed33450 51a9082e .config console log report info ci-upstream-kasan-gce-root
* Struck through repros no longer work on HEAD.