Re: [PATCH v3 2/2] mac80211: Use flexible array in struct ieee80211_tim_ie

From: Kees Cook
Date: Thu Aug 31 2023 - 15:18:35 EST


On Thu, Aug 31, 2023 at 11:22:58AM -0700, Jeff Johnson wrote:
> Currently struct ieee80211_tim_ie defines:
> u8 virtual_map[1];
>
> Per the guidance in [1] change this to be a flexible array.
>
> Per the discussion in [2] wrap the virtual_map in a union with a u8
> item in order to preserve the existing expectation that the
> virtual_map must contain at least one octet (at least when used in a
> non-S1G PPDU). This means that no driver changes are required.
>
> [1] https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays
> [2] https://lore.kernel.org/linux-wireless/202308301529.AC90A9EF98@keescook/
>
> Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Signed-off-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>

Looks good to me! Thanks for the conversion. :)

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

--
Kees Cook