Re: [tip: locking/core] locking: Switch to _irq_{disable,enable}() variants in cleanup guards

From: Peter Zijlstra

Date: Mon Aug 24 2026 - 06:47:33 EST


On Mon, Aug 10, 2026 at 08:57:43AM -0000, tip-bot2 for Boqun Feng wrote:
> The following commit has been merged into the locking/core branch of tip:
>
> Commit-ID: 1b086687483371621e684e2a05b2bcd2cf07b634
> Gitweb: https://git.kernel.org/tip/1b086687483371621e684e2a05b2bcd2cf07b634
> Author: Boqun Feng <boqun@xxxxxxxxxx>
> AuthorDate: Tue, 04 Aug 2026 09:14:29 -07:00
> Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> CommitterDate: Mon, 10 Aug 2026 10:50:18 +02:00
>
> locking: Switch to _irq_{disable,enable}() variants in cleanup guards
>
> The semantics of various IRQ disabling guards match what
> *_irq_{disable,enable}() provide, i.e. the interrupt disabling is
> properly nested, therefore it's OK to switch to use
> *_irq_{disable,enable}() primitives.
>
> [boqun: Adjust the user-side changes in do_sched_cfs_*_timer() provided
> by Peter and Lyude]
>
> Signed-off-by: Boqun Feng <boqun@xxxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Link: https://patch.msgid.link/20260804161447.84806-8-boqun@xxxxxxxxxx

I'm going to revert this patch, the rest can stay, but this patch is
broken vs existing code.

Notably, the one found by syzbot is postix_timer_delete() doing
spin_unlock_irq()+spin_lock_irq() inside a scoped_guard(spinlock_irq).

We're going to need stronger tools/debug before trying this again.