]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - sound/core/rawmidi.c
ALSA: rawmidi: Fix potential Spectre v1 vulnerability
[mirror_ubuntu-bionic-kernel.git] / sound / core / rawmidi.c
index abacbbc0b0e80f987cefdb5b4bfd4652d0332398..d22472ba211eb3972314865f7219c2f025651627 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/mutex.h>
 #include <linux/module.h>
 #include <linux/delay.h>
+#include <linux/nospec.h>
 #include <sound/rawmidi.h>
 #include <sound/info.h>
 #include <sound/control.h>
@@ -591,6 +592,7 @@ static int __snd_rawmidi_info_select(struct snd_card *card,
                return -ENXIO;
        if (info->stream < 0 || info->stream > 1)
                return -EINVAL;
+       info->stream = array_index_nospec(info->stream, 2);
        pstr = &rmidi->streams[info->stream];
        if (pstr->substream_count == 0)
                return -ENOENT;