Re: [PATCH v2] mm/slab: don't use kfree_rcu sheaves on PREEMPT_RT in kvfree_call_rcu()
From: ThangNN99
Date: Mon Aug 31 2026 - 02:36:44 EST
Thanks, both flagged items are pre-existing and out of scope for this
patch:
- The headless kvfree_rcu(ptr) might_sleep()/synchronize_rcu() path is
never reached by the caller this patch fixes: set_cpus_allowed_force()
uses the headed two-argument kfree_rcu(ptr, rcu) form specifically to
avoid it (see its own comment), so it's unrelated to the sheaf-bypass
this patch adds.
- kfree_call_rcu_nolock() still hitting local_trylock(&s->cpu_sheaves->lock)
unconditionally is exactly what this patch's commit message already
calls out as unsafe under a raw spinlock. This patch intentionally
leaves kfree_call_rcu_nolock() untouched; fixing its 'any context'
guarantee belongs in a separate patch.
This patch stays scoped to the specific syzbot-reported splat in
kvfree_call_rcu(). Happy to look at the two pre-existing issues
separately if a maintainer wants a follow-up patch for either.
Thanks,
ThangNN99