Re: [PATCH] ALSA: lola: Bounds check loop iterator against streams array size

From: Takashi Iwai
Date: Sat May 21 2022 - 02:49:27 EST


On Fri, 20 May 2022 18:55:37 +0200,
Kees Cook wrote:
>
> GCC 12 sees that it's technically possible for num_streams to be larger
> than ARRAY_SIZE(pcm->streams). Bounds-check the iterator.
>
> ../sound/pci/lola/lola_pcm.c: In function 'lola_pcm_update':
> ../sound/pci/lola/lola_pcm.c:567:64: warning: array subscript [0, 31] is outside array bounds of 'struct lola_stream[16]' [-Warray-bounds]
> 567 | struct lola_stream *str = &pcm->streams[i];
> | ~~~~~~~~~~~~^~~
> In file included from ../sound/pci/lola/lola_pcm.c:15:
> ../sound/pci/lola/lola.h:307:28: note: while referencing 'streams'
> 307 | struct lola_stream streams[MAX_STREAM_COUNT];
> | ^~~~~~~
>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: alsa-devel@xxxxxxxxxxxxxxxx
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>

Thanks, applied now.


Takashi