syzbot


BUG: soft lockup in br_forward_delay_timer_expired

Status: auto-closed as invalid on 2022/06/13 01:08
Reported-by: syzbot+9da2e10f848501e46388@syzkaller.appspotmail.com
First crash: 1014d, last: 1014d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: soft lockup in br_forward_delay_timer_expired bridge 1 1820d 1820d 0/28 closed as invalid on 2019/11/30 16:54
linux-6.1 INFO: rcu detected stall in br_forward_delay_timer_expired 1 53d 53d 0/3 upstream: reported on 2024/09/30 10:41

Sample crash report:
audit: type=1804 audit(1644714404.126:2): pid=9714 uid=0 auid=4294967295 ses=4294967295 op="invalid_pcr" cause="open_writers" comm="syz-executor.5" name="/root/syzkaller-testdir970903744/syzkaller.AODusi/11/bus" dev="sda1" ino=13951 res=1
watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [syz-executor.5:9704]
Modules linked in:
irq event stamp: 3749711
hardirqs last  enabled at (3749710): [<ffffffff87400976>] restore_regs_and_return_to_kernel+0x0/0x2a
hardirqs last disabled at (3749711): [<ffffffff874018ae>] apic_timer_interrupt+0x8e/0xa0 arch/x86/entry/entry_64.S:793
softirqs last  enabled at (58010): [<ffffffff8760068b>] __do_softirq+0x68b/0x9ff kernel/softirq.c:314
softirqs last disabled at (59397): [<ffffffff81321d13>] invoke_softirq kernel/softirq.c:368 [inline]
softirqs last disabled at (59397): [<ffffffff81321d13>] irq_exit+0x193/0x240 kernel/softirq.c:409
CPU: 0 PID: 9704 Comm: syz-executor.5 Not tainted 4.14.266-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff8880aa2a8400 task.stack: ffff8880456a0000
RIP: 0010:unwind_next_frame+0x296/0x17d0 arch/x86/kernel/unwind_orc.c:349
RSP: 0018:ffff8880ba4078b8 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff10
RAX: 0000000000000015 RBX: 1ffff11017480f1e RCX: ffffffff8a902fcc
RDX: 0000000000000000 RSI: ffffffff8a902fcc RDI: ffffffff8a2d2fe0
RBP: 0000000000000001 R08: ffffffff8a902fd0 R09: ffffffff8a902fd2
R10: 000000000006d91e R11: 0000000000066071 R12: ffff8880ba4079ad
R13: ffff8880ba4079b0 R14: ffff8880ba4079c8 R15: ffff8880ba407978
FS:  0000000000000000(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7fd6fbe000 CR3: 0000000008e6a000 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
unregister_netdevice: waiting for ip6gre0 to become free. Usage count = -1
audit: type=1800 audit(1644714404.126:3): pid=9714 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.5" name="bus" dev="sda1" ino=13951 res=0
 kmem_cache_alloc_node+0x146/0x410 mm/slab.c:3642
 __alloc_skb+0x5c/0x510 net/core/skbuff.c:193
 alloc_skb include/linux/skbuff.h:980 [inline]
 nlmsg_new include/net/netlink.h:511 [inline]
 br_ifinfo_notify+0xab/0x2a0 net/bridge/br_netlink.c:469
 br_forward_delay_timer_expired+0xed/0x470 net/bridge/br_stp_timer.c:102
 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:arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline]
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0xa3/0xe0 kernel/locking/spinlock.c:192
RSP: 0018:ffff8880456a7568 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff10
RAX: 1ffffffff11e1279 RBX: 0000000000000286 RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: 0000000000000286
RBP: ffffffff8c02d388 R08: ffffffff8b9abba8 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff888045a00000
R13: 0000000000000000 R14: ffffffff8c02d388 R15: 0000000000000000
 __debug_check_no_obj_freed lib/debugobjects.c:760 [inline]
 debug_check_no_obj_freed+0x2c0/0x680 lib/debugobjects.c:776
 free_pages_prepare mm/page_alloc.c:1064 [inline]
 __free_pages_ok+0x215/0xeb0 mm/page_alloc.c:1262
 release_pages+0x779/0xbf0 mm/swap.c:788
 tlb_flush_mmu_free+0xc1/0x1a0 mm/memory.c:272
 zap_pte_range mm/memory.c:1431 [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+0x1533/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:0x7fcbb0fb3059
RSP: 002b:00007fcbaf928218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007fcbb10c5f68 RCX: 00007fcbb0fb3059
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fcbb10c5f68
RBP: 00007fcbb10c5f60 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fcbb10c5f6c
R13: 00007ffc72f4167f R14: 00007fcbaf928300 R15: 0000000000022000
Code: 48 b8 00 00 00 00 00 fc ff df 4c 89 c2 48 c1 ea 03 0f b6 04 02 4c 89 c2 83 e2 07 38 d0 7f 08 84 c0 0f 85 63 0e 00 00 0f b6 41 04 <a8> 0f 0f 84 5c 01 00 00 49 8b 77 48 4d 8d 48 01 48 ba 00 00 00 
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 5 Comm: kworker/u4:0 Not tainted 4.14.266-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: netns cleanup_net
task: ffff8880b5fee140 task.stack: ffff8880b5400000
RIP: 0010:__sanitizer_cov_trace_pc+0x23/0x50 kernel/kcov.c:68
RSP: 0018:ffff8880b54079d8 EFLAGS: 00000246
RAX: ffff8880b5fee140 RBX: 1ffff11016a80f40 RCX: 1ffff11016bfdd51
RDX: 0000000000000000 RSI: ffff8880b5feea68 RDI: 0000000000000286
RBP: ffff8880b5407a88 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: 0000564e5a9a3e88 CR3: 00000000910df000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 rep_nop arch/x86/include/asm/processor.h:646 [inline]
 cpu_relax arch/x86/include/asm/processor.h:651 [inline]
 csd_lock_wait kernel/smp.c:108 [inline]
 smp_call_function_single+0x17f/0x370 kernel/smp.c:302
 _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: 90 90 90 90 90 90 90 90 65 48 8b 04 25 c0 7f 02 00 48 85 c0 74 1a 65 8b 15 8b 3f ad 7e 81 e2 00 01 1f 00 75 0b 8b 90 58 13 00 00 <83> fa 01 74 01 c3 48 8b 34 24 48 8b 88 60 13 00 00 8b 80 5c 13 
----------------
Code disassembly (best guess):
   0:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
   7:	fc ff df
   a:	4c 89 c2             	mov    %r8,%rdx
   d:	48 c1 ea 03          	shr    $0x3,%rdx
  11:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax
  15:	4c 89 c2             	mov    %r8,%rdx
  18:	83 e2 07             	and    $0x7,%edx
  1b:	38 d0                	cmp    %dl,%al
  1d:	7f 08                	jg     0x27
  1f:	84 c0                	test   %al,%al
  21:	0f 85 63 0e 00 00    	jne    0xe8a
  27:	0f b6 41 04          	movzbl 0x4(%rcx),%eax
* 2b:	a8 0f                	test   $0xf,%al <-- trapping instruction
  2d:	0f 84 5c 01 00 00    	je     0x18f
  33:	49 8b 77 48          	mov    0x48(%r15),%rsi
  37:	4d 8d 48 01          	lea    0x1(%r8),%r9
  3b:	48                   	rex.W
  3c:	ba                   	.byte 0xba
  3d:	00 00                	add    %al,(%rax)

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/02/13 01:07 linux-4.14.y 8034e99d1a01 8b9ca619 .config console log report info ci2-linux-4-14 BUG: soft lockup in br_forward_delay_timer_expired
* Struck through repros no longer work on HEAD.