| From 362372ceb6556f338e230f2d90af27b47f82365a Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Tue, 22 Jun 2021 11:06:47 +0200 |
| Subject: ALSA: usb-audio: Fix OOB access at proc output |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 362372ceb6556f338e230f2d90af27b47f82365a upstream. |
| |
| At extending the available mixer values for 32bit types, we forgot to |
| add the corresponding entries for the format dump in the proc output. |
| This may result in OOB access. Here adds the missing entries. |
| |
| Fixes: bc18e31c3042 ("ALSA: usb-audio: Fix parameter block size for UAC2 control requests") |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20210622090647.14021-1-tiwai@suse.de |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/usb/mixer.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/sound/usb/mixer.c |
| +++ b/sound/usb/mixer.c |
| @@ -3273,8 +3273,9 @@ static void snd_usb_mixer_dump_cval(stru |
| struct usb_mixer_elem_list *list) |
| { |
| struct usb_mixer_elem_info *cval = mixer_elem_list_to_info(list); |
| - static const char * const val_types[] = {"BOOLEAN", "INV_BOOLEAN", |
| - "S8", "U8", "S16", "U16"}; |
| + static const char * const val_types[] = { |
| + "BOOLEAN", "INV_BOOLEAN", "S8", "U8", "S16", "U16", "S32", "U32", |
| + }; |
| snd_iprintf(buffer, " Info: id=%i, control=%i, cmask=0x%x, " |
| "channels=%i, type=\"%s\"\n", cval->head.id, |
| cval->control, cval->cmask, cval->channels, |