]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume
authorPavel Skripkin <paskripkin@gmail.com>
Sun, 24 Oct 2021 14:03:15 +0000 (17:03 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Nov 2021 10:36:02 +0000 (11:36 +0100)
commit 3ab7992018455ac63c33e9b3eaa7264e293e40f4 upstream.

In commit 411cef6adfb3 ("ALSA: mixer: oss: Fix racy access to slots")
added mutex protection in snd_mixer_oss_set_volume(). Second
mutex_lock() in same function looks like typo, fix it.

Reported-by: syzbot+ace149a75a9a0a399ac7@syzkaller.appspotmail.com
Fixes: 411cef6adfb3 ("ALSA: mixer: oss: Fix racy access to slots")
Cc: <stable@vger.kernel.org>
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Link: https://lore.kernel.org/r/20211024140315.16704-1-paskripkin@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/core/oss/mixer_oss.c

index dc82ed34f7c0f0458127e99ffb7763555f1bcaac..cb27bbe75e61447d2654e433054b8f625465950f 100644 (file)
@@ -328,7 +328,7 @@ static int snd_mixer_oss_set_volume(struct snd_mixer_oss_file *fmixer,
        pslot->volume[1] = right;
        result = (left & 0xff) | ((right & 0xff) << 8);
  unlock:
-       mutex_lock(&mixer->reg_mutex);
+       mutex_unlock(&mixer->reg_mutex);
        return result;
 }