Re: [PATCH][next] ALSA: 6fire: Fix undefined behavior bug in struct comm_runtime

From: Gustavo A. R. Silva
Date: Sun Oct 01 2023 - 02:56:44 EST




On 9/29/23 19:26, Kees Cook wrote:
On Fri, Sep 29, 2023 at 05:59:22PM +0200, Gustavo A. R. Silva wrote:
`struct urb` is a flexible structure, which means that it contains a
flexible-array member at the bottom. This could potentially lead to an
overwrite of the objects following `receiver` in `struct comm_runtime`,
among them some function pointers.

Fix this by placing the declaration of object `receiver` at the end of
`struct comm_runtime`.

Fixes: ddb6b5a96437 ("ALSA: 6fire: fix DMA issues with URB transfer_buffer usage")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>

Should these mention -Wflex-array-member-not-at-end ?

Probably, yes. I wasn't sure about mentioning it because it's not been released yet.


Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>


Thanks!
--
Gustavo