syzbot


BUG: soft lockup in neigh_timer_handler

Status: auto-closed as invalid on 2022/06/16 21:59
Reported-by: syzbot+56835622161ff07db188@syzkaller.appspotmail.com
First crash: 1015d, last: 972d
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-10 BUG: soft lockup in neigh_timer_handler 2 418d 427d 0/2 auto-obsoleted due to no activity on 2023/11/22 05:43
linux-4.19 BUG: soft lockup in neigh_timer_handler 4 703d 962d 0/1 auto-obsoleted due to no activity on 2023/03/12 06:57
android-6-1 BUG: soft lockup in neigh_timer_handler 2 333d 355d 0/2 auto-obsoleted due to no activity on 2024/02/16 02:11
android-54 BUG: soft lockup in neigh_timer_handler 3 117d 129d 0/2 auto-obsoleted due to no activity on 2024/09/18 13:19
upstream BUG: soft lockup in neigh_timer_handler net 1 451d 425d 0/28 auto-obsoleted due to no activity on 2023/10/20 21:15
upstream INFO: rcu detected stall in neigh_timer_handler (8) net C done done 72 65d 125d 27/28 upstream: reported C repro on 2024/06/12 22:26
upstream INFO: rcu detected stall in neigh_timer_handler (7) net 1 1282d 1282d 0/28 auto-closed as invalid on 2021/07/11 19:14
linux-6.1 INFO: rcu detected stall in neigh_timer_handler 4 20d 131d 0/3 upstream: reported on 2024/06/06 22:02

Sample crash report:
watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [syz-executor.5:9547]
Modules linked in:
irq event stamp: 3692815
hardirqs last  enabled at (3692814): [<ffffffff87400976>] restore_regs_and_return_to_kernel+0x0/0x2a
hardirqs last disabled at (3692815): [<ffffffff874018ae>] apic_timer_interrupt+0x8e/0xa0 arch/x86/entry/entry_64.S:793
softirqs last  enabled at (72338): [<ffffffff8760068b>] __do_softirq+0x68b/0x9ff kernel/softirq.c:314
softirqs last disabled at (74037): [<ffffffff81321d13>] invoke_softirq kernel/softirq.c:368 [inline]
softirqs last disabled at (74037): [<ffffffff81321d13>] irq_exit+0x193/0x240 kernel/softirq.c:409
CPU: 0 PID: 9547 Comm: syz-executor.5 Not tainted 4.14.267-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff88805046a540 task.stack: ffff888050470000
RIP: 0010:unwind_next_frame+0xe5b/0x17d0 arch/x86/kernel/unwind_orc.c:498
RSP: 0018:ffff8880ba407248 EFLAGS: 00000213 ORIG_RAX: ffffffffffffff10
RAX: 0000000000000303 RBX: 1ffff11017480e50 RCX: 0000000000000000
RDX: 0000000000000302 RSI: ffff8880ba4071f8 RDI: 0000000000000001
RBP: ffff888050477918 R08: 0000000000000001 R09: 0000000000000001
R10: ffff888050477918 R11: 0000000000000001 R12: ffff888050470000
R13: ffff8880ba407340 R14: ffff8880ba407358 R15: ffff8880ba407308
FS:  00007fa1b8b51700(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2e827000 CR3: 00000000aaca2000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 __save_stack_trace+0x90/0x160 arch/x86/kernel/stacktrace.c:44
 save_stack mm/kasan/kasan.c:447 [inline]
 set_track mm/kasan/kasan.c:459 [inline]
 kasan_kmalloc+0xeb/0x160 mm/kasan/kasan.c:551
 __do_kmalloc_node mm/slab.c:3682 [inline]
 __kmalloc_node_track_caller+0x4c/0x70 mm/slab.c:3696
 __kmalloc_reserve net/core/skbuff.c:137 [inline]
 __alloc_skb+0x96/0x510 net/core/skbuff.c:205
 alloc_skb include/linux/skbuff.h:980 [inline]
 alloc_skb_with_frags+0x85/0x500 net/core/skbuff.c:5258
 sock_alloc_send_pskb+0x577/0x6d0 net/core/sock.c:2101
 __ip6_append_data.isra.0+0x161f/0x2860 net/ipv6/ip6_output.c:1457
 ip6_append_data+0x1b8/0x2f0 net/ipv6/ip6_output.c:1620
 icmp6_send+0x1564/0x1f60 net/ipv6/icmp.c:579
unregister_netdevice: waiting for ip6gre0 to become free. Usage count = -1
 __icmpv6_send include/linux/icmpv6.h:28 [inline]
 icmpv6_send include/linux/icmpv6.h:49 [inline]
 ip6_link_failure+0x2b/0x420 net/ipv6/route.c:1440
 dst_link_failure include/net/dst.h:453 [inline]
 ndisc_error_report+0xa7/0x180 net/ipv6/ndisc.c:687
 neigh_invalidate+0x21c/0x520 net/core/neighbour.c:897
 neigh_timer_handler+0x820/0xa50 net/core/neighbour.c:983
 call_timer_fn+0x14a/0x650 kernel/time/timer.c:1280
 expire_timers+0x232/0x4d0 kernel/time/timer.c:1319
 __run_timers kernel/time/timer.c:1637 [inline]
 run_timer_softirq+0x1d5/0x5a0 kernel/time/timer.c:1650
 __do_softirq+0x24d/0x9ff kernel/softirq.c:288
 invoke_softirq kernel/softirq.c:368 [inline]
 irq_exit+0x193/0x240 kernel/softirq.c:409
 exiting_irq arch/x86/include/asm/apic.h:638 [inline]
 smp_apic_timer_interrupt+0x141/0x5e0 arch/x86/kernel/apic/apic.c:1106
 apic_timer_interrupt+0x93/0xa0 arch/x86/entry/entry_64.S:793
 </IRQ>
RIP: 0010:__sanitizer_cov_trace_pc+0x9/0x50 kernel/kcov.c:65
RSP: 0018:ffff888050477730 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff10
RAX: ffff88805046a540 RBX: 80000000a48ac007 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 00007fa1ba13f000 RDI: 80000000a48ac007
RBP: 1ffff1100a08eee9 R08: 0000000000000000 R09: 0000000000000001
R10: 0000000000000000 R11: ffff88805046a540 R12: 80000000a48ac007
R13: ffff8880aae4aa90 R14: 00007fa1ba13f000 R15: ffff888050477768
 __pte_needs_invert arch/x86/include/asm/pgtable-invert.h:18 [inline]
 protnone_mask arch/x86/include/asm/pgtable-invert.h:24 [inline]
 pte_pfn arch/x86/include/asm/pgtable.h:195 [inline]
 _vm_normal_page+0xc6/0x3b0 mm/memory.c:855
 zap_pte_range mm/memory.c:1337 [inline]
 zap_pmd_range mm/memory.c:1466 [inline]
 zap_pud_range mm/memory.c:1495 [inline]
 zap_p4d_range mm/memory.c:1516 [inline]
 unmap_page_range+0xcf0/0x1ce0 mm/memory.c:1537
 unmap_single_vma+0x147/0x2b0 mm/memory.c:1582
 unmap_vmas+0x9d/0x160 mm/memory.c:1612
 exit_mmap+0x270/0x4d0 mm/mmap.c:3058
 __mmput kernel/fork.c:931 [inline]
 mmput kernel/fork.c:952 [inline]
 mmput+0xfa/0x420 kernel/fork.c:947
 exit_mm kernel/exit.c:548 [inline]
 do_exit+0x984/0x2850 kernel/exit.c:855
 do_group_exit+0x100/0x2e0 kernel/exit.c:965
 get_signal+0x38d/0x1ca0 kernel/signal.c:2412
 do_signal+0x7c/0x1550 arch/x86/kernel/signal.c:792
 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:0x7fa1ba1dc059
RSP: 002b:00007fa1b8b51218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007fa1ba2eef68 RCX: 00007fa1ba1dc059
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fa1ba2eef68
RBP: 00007fa1ba2eef60 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fa1ba2eef6c
R13: 00007ffca33cceef R14: 00007fa1b8b51300 R15: 0000000000022000
Code: 49 39 d4 0f 92 c1 48 39 d0 0f 93 c0 84 c1 74 0a 48 3b 2c 24 0f 86 99 02 00 00 bf 01 00 00 00 e8 8c a5 15 00 65 8b 15 75 01 df 7e <85> d2 b8 01 00 00 00 0f 85 08 f2 ff ff e8 07 9e dc ff e9 fe f1 
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 3012 Comm: kworker/u4:4 Not tainted 4.14.267-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: netns cleanup_net
task: ffff8880abbaa440 task.stack: ffff8880abbb8000
RIP: 0010:__read_once_size include/linux/compiler.h:185 [inline]
RIP: 0010:csd_lock_wait kernel/smp.c:108 [inline]
RIP: 0010:smp_call_function_single+0x181/0x370 kernel/smp.c:302
RSP: 0018:ffff8880abbbf9e0 EFLAGS: 00000297
RAX: ffff8880abbaa440 RBX: 1ffff11015777f40 RCX: 1ffff110157755b1
RDX: 0000000000000000 RSI: ffff8880abbaad68 RDI: 0000000000000286
RBP: ffff8880abbbfa88 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: ffffffff88f79c80 R14: 0000000000000001 R15: ffffffff88f7a0b0
FS:  0000000000000000(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000556b26b9f0e8 CR3: 000000009bdf9000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 _rcu_barrier+0x22d/0x3b0 kernel/rcu/tree.c:3595
 netdev_wait_allrefs net/core/dev.c:7859 [inline]
 netdev_run_todo+0x7d9/0xad0 net/core/dev.c:7947
 ip6gre_exit_net+0x423/0x570 net/ipv6/ip6_gre.c:1210
 ops_exit_list+0xad/0x160 net/core/net_namespace.c:142
 cleanup_net+0x3b3/0x840 net/core/net_namespace.c:487
 process_one_work+0x793/0x14a0 kernel/workqueue.c:2117
 worker_thread+0x5cc/0xff0 kernel/workqueue.c:2251
 kthread+0x30d/0x420 kernel/kthread.c:232
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404
Code: ca 08 00 48 8b 54 24 10 4c 89 e9 8b 7c 24 1c 48 8d 74 24 40 e8 71 fa ff ff 41 89 c4 8b 44 24 58 a8 01 74 0f e8 e1 c9 08 00 f3 90 <8b> 44 24 58 a8 01 75 f1 e8 d2 c9 08 00 e8 cd c9 08 00 bf 01 00 
----------------
Code disassembly (best guess):
   0:	49 39 d4             	cmp    %rdx,%r12
   3:	0f 92 c1             	setb   %cl
   6:	48 39 d0             	cmp    %rdx,%rax
   9:	0f 93 c0             	setae  %al
   c:	84 c1                	test   %al,%cl
   e:	74 0a                	je     0x1a
  10:	48 3b 2c 24          	cmp    (%rsp),%rbp
  14:	0f 86 99 02 00 00    	jbe    0x2b3
  1a:	bf 01 00 00 00       	mov    $0x1,%edi
  1f:	e8 8c a5 15 00       	callq  0x15a5b0
  24:	65 8b 15 75 01 df 7e 	mov    %gs:0x7edf0175(%rip),%edx        # 0x7edf01a0
* 2b:	85 d2                	test   %edx,%edx <-- trapping instruction
  2d:	b8 01 00 00 00       	mov    $0x1,%eax
  32:	0f 85 08 f2 ff ff    	jne    0xfffff240
  38:	e8 07 9e dc ff       	callq  0xffdc9e44
  3d:	e9                   	.byte 0xe9
  3e:	fe                   	(bad)
  3f:	f1                   	icebp

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/02/16 21:58 linux-4.14.y a35d65bedfbc 50221962 .config console log report info ci2-linux-4-14 BUG: soft lockup in neigh_timer_handler
2022/01/30 00:39 linux-4.14.y b86ee2b7ae42 495e00c5 .config console log report info ci2-linux-4-14 BUG: soft lockup in neigh_timer_handler
2022/01/04 14:17 linux-4.14.y a6ca7c65b137 7f723fbe .config console log report info ci2-linux-4-14 BUG: soft lockup in neigh_timer_handler
* Struck through repros no longer work on HEAD.