syzbot


INFO: rcu detected stall in __do_compat_sys_socketcall

Status: closed as invalid on 2022/02/08 10:10
Subsystems: bpf
[Documentation on labels]
First crash: 1105d, last: 1105d

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P3655/1:b..l
	(detected by 1, t=10502 jiffies, g=250409, q=181)
task:syz-executor.0  state:R  running task     stack:23576 pid: 3655 ppid:  3625 flags:0x20000000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:4986 [inline]
 __schedule+0xab2/0x4f00 kernel/sched/core.c:6296
 preempt_schedule_irq+0x4e/0x90 kernel/sched/core.c:6711
 irqentry_exit+0x31/0x80 kernel/entry/common.c:425
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:preempt_count arch/x86/include/asm/preempt.h:27 [inline]
RIP: 0010:check_kcov_mode kernel/kcov.c:166 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x60 kernel/kcov.c:200
Code: 48 89 ef 5d e9 71 a7 46 00 5d be 03 00 00 00 e9 46 f5 64 02 66 0f 1f 44 00 00 48 8b be b0 01 00 00 e8 b4 ff ff ff 31 c0 c3 90 <65> 8b 05 d9 1e 8a 7e 89 c1 48 8b 34 24 81 e1 00 01 00 00 65 48 8b
RSP: 0018:ffffc9000290f348 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff8880180b5700 RSI: ffffffff8184e8eb RDI: 0000000000000003
RBP: 00000000f6e82549 R08: 0000000000000000 R09: 0000000000000001
R10: ffffffff8184e802 R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000000 R15: ffffffff81bef8fb
 bpf_ksym_find+0x171/0x1c0 kernel/bpf/core.c:683
 is_bpf_text_address+0x58/0x170 kernel/bpf/core.c:716
 kernel_text_address kernel/extable.c:124 [inline]
 kernel_text_address+0x39/0x80 kernel/extable.c:93
 __kernel_text_address+0x9/0x30 kernel/extable.c:78
 unwind_get_return_address arch/x86/kernel/unwind_orc.c:318 [inline]
 unwind_get_return_address+0x51/0x90 arch/x86/kernel/unwind_orc.c:313
 arch_stack_walk+0x93/0xe0 arch/x86/kernel/stacktrace.c:26
 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:122
 kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38
 kasan_set_track+0x21/0x30 mm/kasan/common.c:46
 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:370
 ____kasan_slab_free mm/kasan/common.c:367 [inline]
 ____kasan_slab_free+0x130/0x160 mm/kasan/common.c:329
 kasan_slab_free include/linux/kasan.h:236 [inline]
 slab_free_hook mm/slub.c:1728 [inline]
 slab_free_freelist_hook+0x8b/0x1c0 mm/slub.c:1754
 slab_free mm/slub.c:3509 [inline]
 kfree+0xcb/0x280 mm/slub.c:4562
 kvfree+0x42/0x50 mm/util.c:613
 __vunmap+0xa02/0xc50 mm/vmalloc.c:2640
 __vfree+0x3c/0xd0 mm/vmalloc.c:2683
 vfree+0x5a/0x90 mm/vmalloc.c:2714
 xt_compat_flush_offsets+0x8b/0x160 net/netfilter/x_tables.c:691
 get_info+0x28c/0x740 net/ipv6/netfilter/ip6_tables.c:990
 do_ip6t_get_ctl+0x152/0xa10 net/ipv6/netfilter/ip6_tables.c:1663
 nf_getsockopt+0x72/0xd0 net/netfilter/nf_sockopt.c:116
 ipv6_getsockopt+0x1be/0x270 net/ipv6/ipv6_sockglue.c:1502
 tcp_getsockopt+0x86/0xd0 net/ipv4/tcp.c:4284
 __sys_getsockopt+0x21f/0x5f0 net/socket.c:2224
 __do_compat_sys_socketcall+0x513/0x660 net/compat.c:495
 do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline]
 __do_fast_syscall_32+0x65/0xf0 arch/x86/entry/common.c:178
 do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:203
 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
RIP: 0023:0xf6e82549
RSP: 002b:00000000f7513650 EFLAGS: 00000286 ORIG_RAX: 0000000000000066
RAX: ffffffffffffffda RBX: 000000000000000f RCX: 00000000f7513668
RDX: 00000000f75136d8 RSI: 00000000f75136d8 RDI: 00000000f751372c
RBP: 00000000f6fbc114 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
 </TASK>
rcu: rcu_preempt kthread starved for 10502 jiffies! g250409 f0x0 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:28736 pid:   14 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:4986 [inline]
 __schedule+0xab2/0x4f00 kernel/sched/core.c:6296
 schedule+0xd2/0x260 kernel/sched/core.c:6369
 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881
 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1963
 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2136
 kthread+0x2e9/0x3a0 kernel/kthread.c:359
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 30800 Comm: syz-executor.2 Not tainted 5.16.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:kvm_wait+0x98/0x100 arch/x86/kernel/kvm.c:1001
Code: fa 83 e2 07 38 d0 7f 04 84 c0 75 63 0f b6 07 40 38 c6 74 35 48 83 c4 10 c3 c3 e8 43 9b 4a 00 eb 07 0f 00 2d 6a 4b 75 08 fb f4 <48> 83 c4 10 c3 89 74 24 0c 48 89 3c 24 e8 06 96 4a 00 8b 74 24 0c
RSP: 0018:ffffc90002a3f498 EFLAGS: 00000202
RAX: 0000000000d1b26b RBX: 0000000000000000 RCX: 1ffffffff1ff995e
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffffff8bca7380 R08: 0000000000000001 R09: ffffffff8ffc9a47
R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000
R13: fffffbfff1794e70 R14: 0000000000000001 R15: ffff8880b9c3aa40
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0063) knlGS:0000000057a6b380
CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000057a73efc CR3: 000000006c55b000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 pv_wait arch/x86/include/asm/paravirt.h:603 [inline]
 pv_wait_head_or_lock kernel/locking/qspinlock_paravirt.h:470 [inline]
 __pv_queued_spin_lock_slowpath+0x8b8/0xb40 kernel/locking/qspinlock.c:508
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:591 [inline]
 queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:85 [inline]
 do_raw_spin_lock+0x200/0x2b0 kernel/locking/spinlock_debug.c:115
 spin_lock include/linux/spinlock.h:349 [inline]
 preload_this_cpu_lock mm/vmalloc.c:1506 [inline]
 alloc_vmap_area+0x1c8/0x1dc0 mm/vmalloc.c:1548
 __get_vm_area_node.constprop.0+0x128/0x380 mm/vmalloc.c:2436
 __vmalloc_node_range+0x150/0x1060 mm/vmalloc.c:3092
 __vmalloc_node mm/vmalloc.c:3157 [inline]
 vmalloc+0x67/0x80 mm/vmalloc.c:3190
 xt_compat_init_offsets+0xdf/0x220 net/netfilter/x_tables.c:733
 ebt_compat_init_offsets net/bridge/netfilter/ebtables.c:1832 [inline]
 compat_table_info+0x11b/0x7b0 net/bridge/netfilter/ebtables.c:1843
 compat_do_ebt_get_ctl+0x33d/0xae0 net/bridge/netfilter/ebtables.c:2396
 do_ebt_get_ctl+0x2b0/0x790 net/bridge/netfilter/ebtables.c:2459
 nf_getsockopt+0x72/0xd0 net/netfilter/nf_sockopt.c:116
 ip_getsockopt net/ipv4/ip_sockglue.c:1786 [inline]
 ip_getsockopt+0x164/0x1c0 net/ipv4/ip_sockglue.c:1765
 tcp_getsockopt+0x86/0xd0 net/ipv4/tcp.c:4284
 __sys_getsockopt+0x21f/0x5f0 net/socket.c:2224
 __do_compat_sys_socketcall+0x513/0x660 net/compat.c:495
 do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline]
 __do_fast_syscall_32+0x65/0xf0 arch/x86/entry/common.c:178
 do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:203
 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
RIP: 0023:0xf6eec549
Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00
RSP: 002b:00000000f757d670 EFLAGS: 00000282 ORIG_RAX: 0000000000000066
RAX: ffffffffffffffda RBX: 000000000000000f RCX: 00000000f757d688
RDX: 0000000000726574 RSI: 00000000f7024114 RDI: 00000000f757d700
RBP: 00000000f7024000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
 </TASK>
----------------
Code disassembly (best guess):
   0:	48 89 ef             	mov    %rbp,%rdi
   3:	5d                   	pop    %rbp
   4:	e9 71 a7 46 00       	jmpq   0x46a77a
   9:	5d                   	pop    %rbp
   a:	be 03 00 00 00       	mov    $0x3,%esi
   f:	e9 46 f5 64 02       	jmpq   0x264f55a
  14:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  1a:	48 8b be b0 01 00 00 	mov    0x1b0(%rsi),%rdi
  21:	e8 b4 ff ff ff       	callq  0xffffffda
  26:	31 c0                	xor    %eax,%eax
  28:	c3                   	retq
  29:	90                   	nop
* 2a:	65 8b 05 d9 1e 8a 7e 	mov    %gs:0x7e8a1ed9(%rip),%eax        # 0x7e8a1f0a <-- trapping instruction
  31:	89 c1                	mov    %eax,%ecx
  33:	48 8b 34 24          	mov    (%rsp),%rsi
  37:	81 e1 00 01 00 00    	and    $0x100,%ecx
  3d:	65                   	gs
  3e:	48                   	rex.W
  3f:	8b                   	.byte 0x8b

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/01/19 07:29 upstream 99613159ad74 731a2d23 .config console log report info ci-upstream-kasan-gce-386 INFO: rcu detected stall in __do_compat_sys_socketcall
* Struck through repros no longer work on HEAD.