[v2] wifi: ath11k: Fix ath11k_htc_record flexible record

Message ID 20231205-flexarray-htc_record-v2-1-fbb56d436951@quicinc.com
State New
Headers
Series [v2] wifi: ath11k: Fix ath11k_htc_record flexible record |

Commit Message

Jeff Johnson Dec. 5, 2023, 9 p.m. UTC
  Transform the zero-length ath11k_htc_record::credit_report array into
a proper flexible array. Since this is the only array in
ath11k_htc_record, remove the unnecessary union.

Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
---
Changes in v2:
- Original patches 1/4 2/4 3/4 already accepted
- This is original patch 4/4, updated to incorporate Gustavo's review
  comment, removing the `union` and just do a direct transformation
  [0] -> [ ]
- Link to v1: https://lore.kernel.org/r/20231127-flexarray-htc_record-v1-0-6be1f36126fd@quicinc.com
---
 drivers/net/wireless/ath/ath11k/htc.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)


---
base-commit: c8a5f34ad811743d1b3aeb5c54198eebd413bc6d
change-id: 20231116-flexarray-htc_record-ae46f039d4bf
  

Comments

Gustavo A. R. Silva Dec. 5, 2023, 9:05 p.m. UTC | #1
On 12/5/23 15:00, Jeff Johnson wrote:
> Transform the zero-length ath11k_htc_record::credit_report array into
> a proper flexible array. Since this is the only array in
> ath11k_htc_record, remove the unnecessary union.
> 
> Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks!
--
Gustavo

> ---
> Changes in v2:
> - Original patches 1/4 2/4 3/4 already accepted
> - This is original patch 4/4, updated to incorporate Gustavo's review
>    comment, removing the `union` and just do a direct transformation
>    [0] -> [ ]
> - Link to v1: https://lore.kernel.org/r/20231127-flexarray-htc_record-v1-0-6be1f36126fd@quicinc.com
> ---
>   drivers/net/wireless/ath/ath11k/htc.h | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath11k/htc.h b/drivers/net/wireless/ath/ath11k/htc.h
> index d5864a35e75b..86f77eacaea7 100644
> --- a/drivers/net/wireless/ath/ath11k/htc.h
> +++ b/drivers/net/wireless/ath/ath11k/htc.h
> @@ -151,9 +151,7 @@ struct ath11k_htc_credit_report {
>   
>   struct ath11k_htc_record {
>   	struct ath11k_htc_record_hdr hdr;
> -	union {
> -		struct ath11k_htc_credit_report credit_report[0];
> -	};
> +	struct ath11k_htc_credit_report credit_report[];
>   } __packed __aligned(4);
>   
>   enum ath11k_htc_svc_gid {
> 
> ---
> base-commit: c8a5f34ad811743d1b3aeb5c54198eebd413bc6d
> change-id: 20231116-flexarray-htc_record-ae46f039d4bf
>
  
Kees Cook Dec. 6, 2023, 8:55 p.m. UTC | #2
On Tue, Dec 05, 2023 at 01:00:17PM -0800, Jeff Johnson wrote:
> Transform the zero-length ath11k_htc_record::credit_report array into
> a proper flexible array. Since this is the only array in
> ath11k_htc_record, remove the unnecessary union.
> 
> Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>

Heh, looks good. I wonder why this was a union to begin with?

Reviewed-by: Kees Cook <keescook@chromium.org>
  
Gustavo A. R. Silva Dec. 6, 2023, 9:23 p.m. UTC | #3
On 12/6/23 14:55, Kees Cook wrote:
> On Tue, Dec 05, 2023 at 01:00:17PM -0800, Jeff Johnson wrote:
>> Transform the zero-length ath11k_htc_record::credit_report array into
>> a proper flexible array. Since this is the only array in
>> ath11k_htc_record, remove the unnecessary union.
>>
>> Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
> 
> Heh, looks good. I wonder why this was a union to begin with?

It used to contain a couple of members:

https://lore.kernel.org/linux-wireless/20231127-flexarray-htc_record-v1-3-6be1f36126fd@quicinc.com/
https://lore.kernel.org/linux-wireless/4f2a486c-c6de-43e4-8bb6-bdd3f819b0a9@embeddedor.com/

--
Gustavo

> 
> Reviewed-by: Kees Cook <keescook@chromium.org>
>
  
Kalle Valo Dec. 12, 2023, 5:12 p.m. UTC | #4
Jeff Johnson <quic_jjohnson@quicinc.com> wrote:

> Transform the zero-length ath11k_htc_record::credit_report array into
> a proper flexible array. Since this is the only array in
> ath11k_htc_record, remove the unnecessary union.
> 
> Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> Reviewed-by: Kees Cook <keescook@chromium.org>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to ath-next branch of ath.git, thanks.

add731385eed wifi: ath11k: Fix ath11k_htc_record flexible record
  

Patch

diff --git a/drivers/net/wireless/ath/ath11k/htc.h b/drivers/net/wireless/ath/ath11k/htc.h
index d5864a35e75b..86f77eacaea7 100644
--- a/drivers/net/wireless/ath/ath11k/htc.h
+++ b/drivers/net/wireless/ath/ath11k/htc.h
@@ -151,9 +151,7 @@  struct ath11k_htc_credit_report {
 
 struct ath11k_htc_record {
 	struct ath11k_htc_record_hdr hdr;
-	union {
-		struct ath11k_htc_credit_report credit_report[0];
-	};
+	struct ath11k_htc_credit_report credit_report[];
 } __packed __aligned(4);
 
 enum ath11k_htc_svc_gid {