Re: [PATCH 4/4] wifi: ath11k: Use DECLARE_FLEX_ARRAY() for ath11k_htc_record

From: Gustavo A. R. Silva
Date: Tue Dec 05 2023 - 10:46:06 EST




On 12/5/23 09:29, Kalle Valo wrote:
Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> writes:

On 11/27/2023 8:23 AM, Gustavo A. R. Silva wrote:



On 11/27/23 10:14, Jeff Johnson wrote:
Transform the zero-length array in ath11k_htc_record into a proper
flexible array via the DECLARE_FLEX_ARRAY() macro. This helps with
ongoing efforts to globally enable -Warray-bounds.

Signed-off-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
---
drivers/net/wireless/ath/ath11k/htc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/htc.h b/drivers/net/wireless/ath/ath11k/htc.h
index 84971cc9251c..e0434b29df70 100644
--- a/drivers/net/wireless/ath/ath11k/htc.h
+++ b/drivers/net/wireless/ath/ath11k/htc.h
@@ -151,7 +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];
+ DECLARE_FLEX_ARRAY(struct ath11k_htc_credit_report, credit_report);
};

Why not removing the `union` and just do a direct transformation [0] -> [ ] ?

No reason other than staying consistent with ath10k.
Will see if Kalle has an opinion on this.

Yeah, I don't see the need for the union and I removed it in the pending
branch:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=a2faeea1fe0635563187e7821a6d0baf7b40f2c6

Does it look ok?


Nope.

A direct transformation is just fine:

- union {
- struct ath11k_htc_credit_report credit_report[0];
- };
+ struct ath11k_htc_credit_report credit_report[];

There is no need for DFA in this situation.

Thanks
--
Gustavo