syzbot


INFO: rcu detected stall in sys_mprotect

Status: upstream: reported on 2025/08/15 01:57
Reported-by: syzbot+b7a009c1499c2e00e38a@syzkaller.appspotmail.com
First crash: 4d03h, last: 4d03h
Similar bugs (13)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in sys_mprotect (6) kernel 1 3 949d 1000d 0/29 auto-obsoleted due to no activity on 2023/04/20 15:51
upstream INFO: rcu detected stall in sys_mprotect (3) mm 1 3 2049d 2049d 0/29 closed as invalid on 2020/01/09 08:13
upstream INFO: rcu detected stall in sys_mprotect (2) mm 1 1 2050d 2050d 0/29 closed as invalid on 2020/01/08 05:23
upstream INFO: rcu detected stall in sys_mprotect (8) mm 1 syz done 82 3d20h 311d 0/29 upstream: reported syz repro on 2024/10/11 07:05
linux-5.15 INFO: rcu detected stall in sys_mprotect 1 1 479d 479d 0/3 auto-obsoleted due to no activity on 2024/08/04 17:12
upstream INFO: rcu detected stall in sys_mprotect (5) kernel 1 1 1268d 1268d 0/29 auto-closed as invalid on 2022/05/29 03:15
upstream INFO: rcu detected stall in sys_mprotect (4) mm 1 1 1333d 1333d 0/29 closed as invalid on 2022/02/08 10:00
upstream INFO: rcu detected stall in sys_mprotect mm 1 3 2085d 2085d 0/29 closed as invalid on 2019/12/04 14:04
linux-5.15 INFO: rcu detected stall in sys_mprotect (2) 1 1 33d 33d 0/3 upstream: reported on 2025/07/16 12:50
upstream INFO: rcu detected stall in sys_mprotect (7) mm 1 9 580d 808d 0/29 auto-obsoleted due to no activity on 2024/04/15 19:55
linux-6.1 INFO: rcu detected stall in sys_mprotect (2) 1 1 204d 204d 0/3 auto-obsoleted due to no activity on 2025/05/06 08:25
linux-6.1 INFO: rcu detected stall in sys_mprotect 1 7 375d 452d 0/3 auto-obsoleted due to no activity on 2024/11/16 09:36
android-5-15 BUG: soft lockup in sys_mprotect 1 1 446d 446d 0/2 auto-obsoleted due to no activity on 2024/08/27 08:23

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P5800/1:b..l P1138/1:b..l P5901/1:b..l
rcu: 	(detected by 1, t=10502 jiffies, g=10181, q=993 ncpus=2)
task:syz.3.10        state:R  running task     stack:27016 pid:5901  ppid:5791   flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6700
 preempt_schedule_common+0x82/0xc0 kernel/sched/core.c:6867
 preempt_schedule+0xab/0xc0 kernel/sched/core.c:6891
 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:45
 __raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline]
 _raw_spin_unlock+0x3a/0x40 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:391 [inline]
 zap_pte_range mm/memory.c:1522 [inline]
 zap_pmd_range mm/memory.c:1570 [inline]
 zap_pud_range mm/memory.c:1599 [inline]
 zap_p4d_range mm/memory.c:1620 [inline]
 unmap_page_range+0x236f/0x2fe0 mm/memory.c:1641
 unmap_vmas+0x25e/0x3a0 mm/memory.c:1731
 exit_mmap+0x200/0xb50 mm/mmap.c:3298
 __mmput+0x118/0x3c0 kernel/fork.c:1355
 exit_mm+0x1da/0x2c0 kernel/exit.c:569
 do_exit+0x88e/0x23c0 kernel/exit.c:870
 do_group_exit+0x21b/0x2d0 kernel/exit.c:1024
 __do_sys_exit_group kernel/exit.c:1035 [inline]
 __se_sys_exit_group kernel/exit.c:1033 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1033
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f7a1338ebe9
RSP: 002b:00007ffe18b7ced8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f7a1338ebe9
RDX: 0000000000000064 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00007ffe18b7cf3c R08: 0000000918b7cfcf R09: 00000000000927c0
R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000001
R13: 00000000000927c0 R14: 0000000000016aba R15: 00007ffe18b7cf90
 </TASK>
task:kworker/u4:7    state:R  running task     stack:24048 pid:1138  ppid:2      flags:0x00004000
Workqueue: bat_events batadv_nc_worker
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6700
 preempt_schedule_notrace+0xce/0x110 kernel/sched/core.c:6960
 preempt_schedule_notrace_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:46
 rcu_is_watching+0x7a/0xb0 kernel/rcu/tree.c:701
 trace_lock_acquire include/trace/events/lock.h:24 [inline]
 lock_acquire+0xcb/0x410 kernel/locking/lockdep.c:5725
 rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 rcu_read_lock include/linux/rcupdate.h:786 [inline]
 batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:408 [inline]
 batadv_nc_worker+0xef/0x610 net/batman-adv/network-coding.c:719
 process_one_work kernel/workqueue.c:2634 [inline]
 process_scheduled_works+0xa45/0x15b0 kernel/workqueue.c:2711
 worker_thread+0xa55/0xfc0 kernel/workqueue.c:2792
 kthread+0x2fa/0x390 kernel/kthread.c:388
 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
 </TASK>
task:udevd           state:R  running task     stack:24488 pid:5800  ppid:5160   flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6700
 preempt_schedule_irq+0xb5/0x140 kernel/sched/core.c:7010
 irqentry_exit+0x67/0x70 kernel/entry/common.c:438
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687
RIP: 0010:mas_validate_gaps lib/maple_tree.c:6977 [inline]
RIP: 0010:mt_validate+0x2c5f/0x4530 lib/maple_tree.c:7232
Code: b9 fe ff ff 48 8b 4c 24 48 80 e1 07 38 c1 0f 8c 02 ff ff ff 48 8b 7c 24 48 e8 dd 01 82 f7 e9 f3 fe ff ff e8 33 bc 2a f7 eb 25 <e8> 2c bc 2a f7 eb 1e e8 25 bc 2a f7 41 bc 1f 00 00 00 48 c7 44 24
RSP: 0018:ffffc9000465f700 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 00007f9b895d3fff RCX: ffff88803000bc00
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc9000465f8d0 R08: ffff88803000bc00 R09: 0000000000000003
R10: 0000000000000002 R11: 0000000000000000 R12: 000000000000000b
R13: 0000000000000000 R14: ffffffff8bc92bc1 R15: dffffc0000000000
 validate_mm+0xb1/0x420 mm/mmap.c:287
 vma_merge+0x1ab6/0x2110 mm/mmap.c:1034
 mprotect_fixup+0x47f/0xc90 mm/mprotect.c:632
 do_mprotect_pkey+0x76e/0xc30 mm/mprotect.c:819
 __do_sys_mprotect mm/mprotect.c:840 [inline]
 __se_sys_mprotect mm/mprotect.c:837 [inline]
 __x64_sys_mprotect+0x80/0x90 mm/mprotect.c:837
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f9b88d1dfe7
RSP: 002b:00007ffe3df00508 EFLAGS: 00000246 ORIG_RAX: 000000000000000a
RAX: ffffffffffffffda RBX: 0000000000000200 RCX: 00007f9b88d1dfe7
RDX: 0000000000000001 RSI: 0000000000000200 RDI: 00007f9b8946a000
RBP: 00005584bd355060 R08: 0000000000000000 R09: 0000000000000200
R10: 00005584bd3550c0 R11: 0000000000000246 R12: 00000000000001f6
R13: 000000000000fe00 R14: 00005584bd356418 R15: 00007f9b8959e39c
 </TASK>
rcu: rcu_preempt kthread starved for 10575 jiffies! g10181 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:26920 pid:17    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6700
 schedule+0xbd/0x170 kernel/sched/core.c:6774
 schedule_timeout+0x160/0x280 kernel/time/timer.c:2167
 rcu_gp_fqs_loop+0x302/0x1560 kernel/rcu/tree.c:1667
 rcu_gp_kthread+0x99/0x380 kernel/rcu/tree.c:1866
 kthread+0x2fa/0x390 kernel/kthread.c:388
 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
 </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: 0 Comm: swapper/0 Not tainted 6.6.101-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
RIP: 0010:pv_native_safe_halt+0x13/0x20 arch/x86/kernel/paravirt.c:148
Code: cc cc cc cc cc cc cc f3 0f 1e fa 0f 0b 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 66 90 0f 00 2d 83 16 3b 00 f3 0f 1e fa fb f4 <c3> cc cc cc cc cc cc cc cc cc cc cc cc 66 0f 1f 00 55 41 57 41 56
RSP: 0018:ffffffff8ca07d80 EFLAGS: 000002c2
RAX: 20d8287c56c5f500 RBX: ffffffff81619a6b RCX: 20d8287c56c5f500
RDX: 0000000000000001 RSI: ffffffff8aaaba40 RDI: ffffffff8afc6780
RBP: ffffffff8ca07eb8 R08: ffff8880b8e36d4b R09: 1ffff110171c6da9
R10: dffffc0000000000 R11: ffffed10171c6daa R12: ffffffff8e4a84e8
R13: 0000000000000000 R14: 0000000000000000 R15: 1ffffffff1952670
FS:  0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c33f676 CR3: 0000000077685000 CR4: 00000000003506f0
Call Trace:
 <TASK>
 arch_safe_halt arch/x86/include/asm/paravirt.h:108 [inline]
 default_idle+0x13/0x20 arch/x86/kernel/process.c:753
 default_idle_call+0x6c/0xa0 kernel/sched/idle.c:97
 cpuidle_idle_call kernel/sched/idle.c:170 [inline]
 do_idle+0x1eb/0x510 kernel/sched/idle.c:282
 cpu_startup_entry+0x43/0x60 kernel/sched/idle.c:380
 rest_init+0x2e2/0x300 init/main.c:732
 arch_call_rest_init+0xe/0x10 init/main.c:829
 start_kernel+0x459/0x4e0 init/main.c:1074
 x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:555
 x86_64_start_kernel+0x60/0x60 arch/x86/kernel/head64.c:536
 secondary_startup_64_no_verify+0x179/0x17b
 </TASK>
sched: RT throttling activated

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/08/15 01:56 linux-6.6.y 3a8ababb8b6a 5d8c2ac2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan INFO: rcu detected stall in sys_mprotect
* Struck through repros no longer work on HEAD.