[syzbot] [bpf?] INFO: rcu detected stall in sys_unshare (9)

6 views
Skip to first unread message

syzbot

unread,
Nov 10, 2023, 7:17:30 PM11/10/23
to and...@kernel.org, a...@kernel.org, b...@vger.kernel.org, dan...@iogearbox.net, hao...@google.com, john.fa...@gmail.com, jo...@kernel.org, kps...@kernel.org, linux-...@vger.kernel.org, marti...@linux.dev, s...@google.com, so...@kernel.org, syzkall...@googlegroups.com, yongho...@linux.dev
Hello,

syzbot found the following issue on:

HEAD commit: d2f51b3516da Merge tag 'rtc-6.7' of git://git.kernel.org/p..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17f706eb680000
kernel config: https://syzkaller.appspot.com/x/.config?x=1ffa1cec3b40f3ce
dashboard link: https://syzkaller.appspot.com/bug?extid=872bccd9a68c6ba47718
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1156a047680000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1400ef87680000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/38e8e9ac2457/disk-d2f51b35.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/b68cb55b3341/vmlinux-d2f51b35.xz
kernel image: https://storage.googleapis.com/syzbot-assets/a16207c0a2b9/bzImage-d2f51b35.xz

Bisection is inconclusive: the issue happens on the oldest tested release.

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=12b50a5b680000
final oops: https://syzkaller.appspot.com/x/report.txt?x=11b50a5b680000
console output: https://syzkaller.appspot.com/x/log.txt?x=16b50a5b680000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+872bcc...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P5082/1:b..l
rcu: (detected by 0, t=10503 jiffies, g=4817, q=37 ncpus=2)
task:syz-executor172 state:R running task stack:27680 pid:5082 tgid:5082 ppid:5079 flags:0x00000002
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5376 [inline]
__schedule+0xee2/0x59a0 kernel/sched/core.c:6688
preempt_schedule_irq+0x52/0x90 kernel/sched/core.c:7008
irqentry_exit+0x35/0x80 kernel/entry/common.c:432
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:lock_acquire+0x1ef/0x510 kernel/locking/lockdep.c:5721
Code: c1 05 dd 7d 99 7e 83 f8 01 0f 85 b0 02 00 00 9c 58 f6 c4 02 0f 85 9b 02 00 00 48 85 ed 74 01 fb 48 b8 00 00 00 00 00 fc ff df <48> 01 c3 48 c7 03 00 00 00 00 48 c7 43 08 00 00 00 00 48 8b 84 24
RSP: 0018:ffffc90003c6f6f8 EFLAGS: 00000206
RAX: dffffc0000000000 RBX: 1ffff9200078dee1 RCX: 0000000000000001
RDX: 1ffff11002ffd157 RSI: ffffffff8accbc20 RDI: ffffffff8b2e7fc0
RBP: 0000000000000200 R08: 0000000000000000 R09: fffffbfff23e2bd0
R10: ffffffff91f15e87 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: ffffffff8cfacfe0 R15: 0000000000000000
rcu_lock_acquire include/linux/rcupdate.h:301 [inline]
rcu_read_lock include/linux/rcupdate.h:747 [inline]
is_bpf_text_address+0x36/0x1a0 kernel/bpf/core.c:733
kernel_text_address kernel/extable.c:125 [inline]
kernel_text_address+0x85/0xf0 kernel/extable.c:94
__kernel_text_address+0xd/0x30 kernel/extable.c:79
unwind_get_return_address+0x78/0xe0 arch/x86/kernel/unwind_orc.c:369
arch_stack_walk+0xbe/0x170 arch/x86/kernel/stacktrace.c:26
stack_trace_save+0x96/0xd0 kernel/stacktrace.c:122
kasan_save_stack+0x33/0x50 mm/kasan/common.c:45
kasan_set_track+0x25/0x30 mm/kasan/common.c:52
____kasan_kmalloc mm/kasan/common.c:374 [inline]
__kasan_kmalloc+0xa2/0xb0 mm/kasan/common.c:383
kasan_kmalloc include/linux/kasan.h:198 [inline]
__do_kmalloc_node mm/slab_common.c:1007 [inline]
__kmalloc+0x60/0x100 mm/slab_common.c:1020
kmalloc_array include/linux/slab.h:637 [inline]
kcalloc include/linux/slab.h:668 [inline]
cache_create_net+0xa0/0x220 net/sunrpc/cache.c:1749
rsi_cache_create_net net/sunrpc/auth_gss/svcauth_gss.c:2033 [inline]
gss_svc_init_net+0x122/0x660 net/sunrpc/auth_gss/svcauth_gss.c:2093
ops_init+0xb9/0x650 net/core/net_namespace.c:136
setup_net+0x422/0xa40 net/core/net_namespace.c:339
copy_net_ns+0x2fa/0x670 net/core/net_namespace.c:491
create_new_namespaces+0x3ea/0xb10 kernel/nsproxy.c:110
unshare_nsproxy_namespaces+0xc1/0x1f0 kernel/nsproxy.c:228
ksys_unshare+0x443/0x9b0 kernel/fork.c:3433
__do_sys_unshare kernel/fork.c:3504 [inline]
__se_sys_unshare kernel/fork.c:3502 [inline]
__x64_sys_unshare+0x31/0x40 kernel/fork.c:3502
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x3f/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x63/0x6b
RIP: 0033:0x7f00801172f7
RSP: 002b:00007ffd109dd1d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000110
RAX: ffffffffffffffda RBX: 00007ffd109dd208 RCX: 00007f00801172f7
RDX: 00007f0080115e79 RSI: 00007ffd109dd280 RDI: 0000000040000000
RBP: 00000000000f4240 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000555556d1d370
R13: 0000000000000003 R14: 0000000000000003 R15: 00007ffd109dd240
</TASK>
rcu: rcu_preempt kthread starved for 10544 jiffies! g4817 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
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:27632 pid:17 tgid:17 ppid:2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5376 [inline]
__schedule+0xee2/0x59a0 kernel/sched/core.c:6688
__schedule_loop kernel/sched/core.c:6763 [inline]
schedule+0xe7/0x270 kernel/sched/core.c:6778
schedule_timeout+0x157/0x2c0 kernel/time/timer.c:2167
rcu_gp_fqs_loop+0x1ec/0xb10 kernel/rcu/tree.c:1626
rcu_gp_kthread+0x249/0x380 kernel/rcu/tree.c:1825
kthread+0x33c/0x440 kernel/kthread.c:388
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 5110 Comm: syz-executor172 Not tainted 6.6.0-syzkaller-14651-gd2f51b3516da #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/09/2023
RIP: 0010:__lock_acquire+0x16/0x5de0 kernel/locking/lockdep.c:4992
Code: 00 e9 58 fe ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 41 57 41 89 cf 49 89 fa 48 b9 00 00 00 00 00 fc ff df 41 56 41 55 <41> 89 f5 41 54 41 89 d4 55 44 89 cd 53 48 81 ec 10 01 00 00 48 8b
RSP: 0018:ffffc90003e0fba0 EFLAGS: 00000006
RAX: 0000000000000200 RBX: 1ffff920007c1f7f RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888079bed720
RBP: 0000000000000200 R08: 0000000000000001 R09: 0000000000000000
R10: ffff888079bed720 R11: 0000000000000000 R12: 0000000000000001
R13: 0000000000000000 R14: ffff888079bed720 R15: 0000000000000001
FS: 0000555556d1d3c0(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f008012d4c0 CR3: 000000006f293000 CR4: 0000000000350ef0
Call Trace:
<NMI>
</NMI>
<TASK>
lock_acquire kernel/locking/lockdep.c:5753 [inline]
lock_acquire+0x1ae/0x510 kernel/locking/lockdep.c:5718
__might_fault mm/memory.c:5955 [inline]
__might_fault+0x11f/0x1a0 mm/memory.c:5948
clear_rseq_cs kernel/rseq.c:257 [inline]
rseq_ip_fixup kernel/rseq.c:291 [inline]
__rseq_handle_notify_resume+0xd5b/0x1010 kernel/rseq.c:329
rseq_handle_notify_resume include/linux/sched.h:2361 [inline]
rseq_signal_deliver include/linux/sched.h:2370 [inline]
setup_rt_frame arch/x86/kernel/signal.c:211 [inline]
handle_signal arch/x86/kernel/signal.c:266 [inline]
arch_do_signal_or_restart+0x431/0x7f0 arch/x86/kernel/signal.c:311
exit_to_user_mode_loop kernel/entry/common.c:168 [inline]
exit_to_user_mode_prepare+0x11f/0x240 kernel/entry/common.c:204
__syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
syscall_exit_to_user_mode+0x1d/0x60 kernel/entry/common.c:296
do_syscall_64+0x4b/0x110 arch/x86/entry/common.c:88
entry_SYSCALL_64_after_hwframe+0x63/0x6b
RIP: 0033:0x7f0080115e79
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffd109dd1d8 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 0000000000000003 RCX: 00007f0080115e79
RDX: 000000002006b000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00000000000f4240 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000555556d1d370
R13: 0000000000000002 R14: 00007ffd109dd250 R15: 00007ffd109dd240
</TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages