Re: [PATCH] mm/slab: disallow kfree_rcu_sheaf() on PREEMPT_RT again
From: ThangNN99
Date: Mon Aug 31 2026 - 18:43:03 EST
Thanks Vlastimil, this matches what I found and is functionally the
same fix I had in my v3. I built this exact logic (skip
kfree_rcu_sheaf() under CONFIG_PREEMPT_RT in kvfree_call_rcu(), same
dead-code removal in kfree_rcu_sheaf()) against commit 08dbfad3f504
with the syzbot .config and reproduced the original splat with
syzbot's C repro (writing "off" to
/sys/devices/system/cpu/smt/control to trigger the
__balance_push_cpu_stop -> select_fallback_rq ->
cpuset_cpus_allowed_fallback -> set_cpus_allowed_force ->
kvfree_call_rcu chain) — confirmed the exact same lockdep report as
syzbot, then rebuilt with the fix and confirmed the splat no longer
appears while the same code path still executes.
Feel free to add:
Tested-by: ThangNN99 <ngocthang2710.1999@xxxxxxxxx>
Thanks for picking this up and for the pi_lock/waitlock explanation,
that's a much more precise description than what I had.
ThangNN99