All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Jeff Johnson <quic_jjohnson@quicinc.com>
Cc: Kalle Valo <kvalo@kernel.org>,
	"Gustavo A. R. Silva" <gustavo@embeddedor.com>,
	ath10k@lists.infradead.org, linux-wireless@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/6] wifi: ath10k: use flexible arrays for WMI start scan TLVs
Date: Wed, 13 Dec 2023 11:11:37 -0800	[thread overview]
Message-ID: <202312131111.256FE1A@keescook> (raw)
In-Reply-To: <20231213-wmi_host_mem_chunks_flexarray-v1-2-92922d92fa2c@quicinc.com>

On Wed, Dec 13, 2023 at 09:06:40AM -0800, Jeff Johnson wrote:
> Currently ath10k defines the following struct:
> 	struct wmi_start_scan_tlvs {
> 		u8 tlvs[0];
> 	} __packed;
> 
> Per the guidance in [1] this should be a flexible array. However, a
> direct replace to u8 tlvs[] results in the compilation error:
>        flexible array member in a struct with no named members
> 
> This is because C99 6.7.2.1 (16) requires that a structure containing
> a flexible array member must have more than one named member.
> 
> So rather than defining a separate struct wmi_start_scan_tlvs which
> contains the flexible tlvs[] array, just define the tlvs[] array where
> struct wmi_start_scan_tlvs is being used.
> 
> No functional changes, compile tested only.
> 
> [1] https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays
> 
> Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>

Yeah, this too looks like the right approach: keeping the flex array
close instead of externalized into a no-op struct.

Reviewed-by: Kees Cook <keescook@chromium.org>

-- 
Kees Cook


  reply	other threads:[~2023-12-13 19:11 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-13 17:06 [PATCH 0/6] wifi: ath10k: use flexible arrays Jeff Johnson
2023-12-13 17:06 ` [PATCH 1/6] wifi: ath10k: use flexible array in struct wmi_host_mem_chunks Jeff Johnson
2023-12-13 19:10   ` Kees Cook
2023-12-13 20:14   ` Gustavo A. R. Silva
2023-12-18 18:47   ` Kalle Valo
2023-12-18 18:51     ` Gustavo A. R. Silva
2023-12-13 17:06 ` [PATCH 2/6] wifi: ath10k: use flexible arrays for WMI start scan TLVs Jeff Johnson
2023-12-13 19:11   ` Kees Cook [this message]
2023-12-13 20:17   ` Gustavo A. R. Silva
2023-12-13 17:06 ` [PATCH 3/6] wifi: ath10k: remove struct wmi_pdev_chanlist_update_event Jeff Johnson
2023-12-13 19:12   ` Kees Cook
2023-12-13 20:18   ` Gustavo A. R. Silva
2023-12-13 17:06 ` [PATCH 4/6] wifi: ath10k: remove unused template structs Jeff Johnson
2023-12-13 19:12   ` Kees Cook
2023-12-13 20:19   ` Gustavo A. R. Silva
2023-12-13 17:06 ` [PATCH 5/6] wifi: ath10k: use flexible array in struct wmi_tdls_peer_capabilities Jeff Johnson
2023-12-13 19:13   ` Kees Cook
2023-12-13 20:19   ` Gustavo A. R. Silva
2023-12-13 17:06 ` [PATCH 6/6] wifi: ath10k: remove duplicate memset() in 10.4 TDLS peer update Jeff Johnson
2023-12-13 19:16   ` Kees Cook
2023-12-13 19:36     ` Jeff Johnson
2023-12-13 19:37       ` Kees Cook
2023-12-13 20:20   ` Gustavo A. R. Silva
2023-12-13 20:21 ` [PATCH 0/6] wifi: ath10k: use flexible arrays Gustavo A. R. Silva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202312131111.256FE1A@keescook \
    --to=keescook@chromium.org \
    --cc=ath10k@lists.infradead.org \
    --cc=gustavo@embeddedor.com \
    --cc=kvalo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=quic_jjohnson@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.