From: Takashi Iwai Date: Fri, 15 Mar 2024 10:14:42 +0000 (+0100) Subject: ALSA: timer: Fix missing irq-disable at closing X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=587d67fd929ad89801bcc429675bda90d53f6592;p=linux.git ALSA: timer: Fix missing irq-disable at closing The conversion to guard macro dropped the irq-disablement at closing mistakenly, which may lead to a race. Fix it. Fixes: beb45974dd49 ("ALSA: timer: Use guard() for locking") Reported-by: syzbot+28c1a5a5b041a754b947@syzkaller.appspotmail.com Closes: http://lore.kernel.org/r/0000000000000b9a510613b0145f@google.com Message-ID: <20240315101447.18395-1-tiwai@suse.de> Signed-off-by: Takashi Iwai --- diff --git a/sound/core/timer.c b/sound/core/timer.c index 15b07d09c4b72..4d2ee99c12a3f 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -409,7 +409,7 @@ static void snd_timer_close_locked(struct snd_timer_instance *timeri, struct snd_timer *timer = timeri->timer; if (timer) { - guard(spinlock)(&timer->lock); + guard(spinlock_irq)(&timer->lock); timeri->flags |= SNDRV_TIMER_IFLG_DEAD; }