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)
committerTakashi Iwai <tiwai@suse.de>
Tue, 26 Oct 2021 05:59:40 +0000 (07:59 +0200)
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>
sound/core/oss/mixer_oss.c

index d5ddc154a7356d04e29926a091185c39032e9423..9620115cfdc0995189a3dff07c64e8b8aeeb3e4c 100644 (file)
@@ -313,7 +313,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;
 }