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:48:25 +0000 (11:48 +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 8a5fc394a2909b88129513ec82fb96e636e7d3bc..1845db338d0f6fc77c4bf0e9301b639786e92130 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;
 }