All of lore.kernel.org
 help / color / mirror / Atom feed
From: syzbot <syzbot+6f7c31cf5ae4944ad6f0@syzkaller.appspotmail.com>
To: Liam.Howlett@oracle.com, akpm@linux-foundation.org,
	jannh@google.com,  linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, lorenzo.stoakes@oracle.com,
	 netdev@vger.kernel.org, syzkaller-bugs@googlegroups.com,
	vbabka@suse.cz
Subject: Re: [syzbot] [mm?] INFO: rcu detected stall in sys_mprotect (8)
Date: Thu, 09 Jan 2025 05:23:25 -0800	[thread overview]
Message-ID: <677fcdcd.050a0220.25a300.01c1.GAE@google.com> (raw)
In-Reply-To: <6708ce33.050a0220.3e960.000e.GAE@google.com>

syzbot has found a reproducer for the following issue on:

HEAD commit:    31eae6d99587 selftests: drv-net: test drivers sleeping in ..
git tree:       net-next
console output: https://syzkaller.appspot.com/x/log.txt?x=170e81df980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=289acde585746aad
dashboard link: https://syzkaller.appspot.com/bug?extid=6f7c31cf5ae4944ad6f0
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=11d7270f980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/4718c6cc0087/disk-31eae6d9.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/9ad3425b5ce9/vmlinux-31eae6d9.xz
kernel image: https://storage.googleapis.com/syzbot-assets/9da77adda42e/bzImage-31eae6d9.xz

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

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	1-...!: (3 ticks this GP) idle=5abc/1/0x4000000000000000 softirq=13965/13965 fqs=0
rcu: 	(detected by 0, t=13596 jiffies, g=9241, q=718 ncpus=2)
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 UID: 0 PID: 6085 Comm: modprobe Not tainted 6.13.0-rc5-syzkaller-00873-g31eae6d99587 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:__kasan_check_read+0xa/0x20 mm/kasan/shadow.c:31
Code: db eb d0 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 89 f6 48 8b 0c 24 <31> d2 e9 6f e6 ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00
RSP: 0018:ffffc90000a189c0 EFLAGS: 00000007
RAX: 0000000000000024 RBX: 000000000000092d RCX: ffffffff817b274a
RDX: 0000000000000008 RSI: 0000000000000008 RDI: ffffffff942bd9a0
RBP: 0000000000000008 R08: ffffffff942bd9a7 R09: 1ffffffff2857b34
R10: dffffc0000000000 R11: fffffbfff2857b35 R12: ffff88802c2d28c4
R13: dffffc0000000000 R14: 0000000000000100 R15: ffff88802c2d2908
FS:  00007f1458250380(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f14583bafe4 CR3: 0000000033060000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 hlock_class kernel/locking/lockdep.c:228 [inline]
 mark_lock+0x9a/0x360 kernel/locking/lockdep.c:4727
 mark_usage kernel/locking/lockdep.c:4670 [inline]
 __lock_acquire+0xc3e/0x2100 kernel/locking/lockdep.c:5180
 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5849
 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
 _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
 spin_lock include/linux/spinlock.h:351 [inline]
 advance_sched+0xab/0xca0 net/sched/sch_taprio.c:924
 __run_hrtimer kernel/time/hrtimer.c:1739 [inline]
 __hrtimer_run_queues+0x59b/0xd30 kernel/time/hrtimer.c:1803
 hrtimer_interrupt+0x403/0xa40 kernel/time/hrtimer.c:1865
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1038 [inline]
 __sysvec_apic_timer_interrupt+0x110/0x420 arch/x86/kernel/apic/apic.c:1055
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1049
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:stack_trace_consume_entry+0xf5/0x280 kernel/stacktrace.c:93
Code: 00 fc ff df 48 8b 1b 45 8d 70 01 41 0f b6 04 17 84 c0 0f 85 31 01 00 00 45 89 31 4a 8d 1c c3 48 89 d8 48 c1 e8 03 80 3c 10 00 <74> 1a 4d 89 cf 48 89 df 49 89 d6 49 89 f5 e8 68 a2 7a 00 4d 89 f9
RSP: 0018:ffffc900030c7230 EFLAGS: 00000246
RAX: 1ffff92000618e8c RBX: ffffc900030c7460 RCX: ffffffff917a4000
RDX: dffffc0000000000 RSI: ffffffff8be00130 RDI: ffffc900030c736c
RBP: ffffc900030c7368 R08: 000000000000000c R09: ffffc900030c7370
R10: ffffc900030c72d0 R11: ffffffff818b39d0 R12: 1ffff92000618e6d
R13: 1ffff92000618e6d R14: 000000000000000d R15: 1ffff92000618e6e
 arch_stack_walk+0x10e/0x150 arch/x86/kernel/stacktrace.c:27
 stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:47 [inline]
 kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
 unpoison_slab_object mm/kasan/common.c:319 [inline]
 __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345
 kasan_slab_alloc include/linux/kasan.h:250 [inline]
 slab_post_alloc_hook mm/slub.c:4119 [inline]
 kmem_cache_alloc_bulk_noprof+0x4fa/0x7c0 mm/slub.c:5129
 mt_alloc_bulk lib/maple_tree.c:181 [inline]
 mas_alloc_nodes+0x38e/0x7e0 lib/maple_tree.c:1275
 mas_node_count_gfp lib/maple_tree.c:1335 [inline]
 mas_preallocate+0x575/0x8d0 lib/maple_tree.c:5545
 vma_iter_prealloc mm/vma.h:349 [inline]
 __split_vma+0x302/0xc50 mm/vma.c:447
 split_vma mm/vma.c:510 [inline]
 vma_modify+0x244/0x330 mm/vma.c:1528
 vma_modify_flags+0x3a5/0x430 mm/vma.c:1546
 mprotect_fixup+0x45a/0xaa0 mm/mprotect.c:666
 do_mprotect_pkey+0x8d7/0xd70 mm/mprotect.c:840
 __do_sys_mprotect mm/mprotect.c:861 [inline]
 __se_sys_mprotect mm/mprotect.c:858 [inline]
 __x64_sys_mprotect+0x80/0x90 mm/mprotect.c:858
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f1458574bb7
Code: 00 00 00 b8 0b 00 00 00 0f 05 48 3d 01 f0 ff ff 73 01 c3 48 8d 0d b9 46 01 00 f7 d8 89 01 48 83 c8 ff c3 b8 0a 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8d 0d 99 46 01 00 f7 d8 89 01 48 83
RSP: 002b:00007fffaf755208 EFLAGS: 00000206 ORIG_RAX: 000000000000000a
RAX: ffffffffffffffda RBX: 00007f1458551fc0 RCX: 00007f1458574bb7
RDX: 0000000000000001 RSI: 0000000000001000 RDI: 00007f14582c9000
RBP: 00007fffaf755320 R08: 00007fffaf755198 R09: 00007f14585515c0
R10: 00007f14582a8168 R11: 0000000000000206 R12: 00007f1458551fc0
R13: 00007f145857ceda R14: 00007f14582c9f40 R15: 00007f14582c9740
 </TASK>
rcu: rcu_preempt kthread timer wakeup didn't happen for 13595 jiffies! g9241 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: 	Possible timer handling issue on cpu=1 timer-softirq=3487
rcu: rcu_preempt kthread starved for 13596 jiffies! g9241 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->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:I stack:25976 pid:17    tgid:17    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5369 [inline]
 __schedule+0x1850/0x4c30 kernel/sched/core.c:6756
 __schedule_loop kernel/sched/core.c:6833 [inline]
 schedule+0x14b/0x320 kernel/sched/core.c:6848
 schedule_timeout+0x15a/0x290 kernel/time/sleep_timeout.c:99
 rcu_gp_fqs_loop+0x2df/0x1330 kernel/rcu/tree.c:2045
 rcu_gp_kthread+0xa7/0x3b0 kernel/rcu/tree.c:2247
 kthread+0x2f0/0x390 kernel/kthread.c:389
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>


---
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.

  reply	other threads:[~2025-01-09 13:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-11  7:05 [syzbot] [mm?] INFO: rcu detected stall in sys_mprotect (8) syzbot
2025-01-09 13:23 ` syzbot [this message]
2025-01-16 23:18 ` syzbot
2026-11-06 12:35 ` syzbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=677fcdcd.050a0220.25a300.01c1.GAE@google.com \
    --to=syzbot+6f7c31cf5ae4944ad6f0@syzkaller.appspotmail.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=jannh@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=netdev@vger.kernel.org \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.