mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-07-02 02:37:05 +08:00
138 lines
3.9 KiB
Diff
138 lines
3.9 KiB
Diff
From e9e591686ccb51d53048dabe8e6020b5a3bba45d Mon Sep 17 00:00:00 2001
|
|
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
|
|
Date: Wed, 16 Feb 2022 13:48:36 -0600
|
|
Subject: [PATCH] ath11k: Replace zero-length arrays with flexible-array
|
|
members
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
There is a regular need in the kernel to provide a way to declare
|
|
having a dynamically sized set of trailing elements in a structure.
|
|
Kernel code should always use “flexible array members”[1] for these
|
|
cases. The older style of one-element or zero-length arrays should
|
|
no longer be used[2].
|
|
|
|
[1] https://en.wikipedia.org/wiki/Flexible_array_member
|
|
[2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays
|
|
|
|
Link: https://github.com/KSPP/linux/issues/78
|
|
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
|
|
Reviewed-by: Kees Cook <keescook@chromium.org>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20220216194836.GA904035@embeddedor
|
|
---
|
|
drivers/net/wireless/ath/ath11k/ce.h | 2 +-
|
|
drivers/net/wireless/ath/ath11k/core.h | 2 +-
|
|
drivers/net/wireless/ath/ath11k/dp.h | 10 +++++-----
|
|
drivers/net/wireless/ath/ath11k/rx_desc.h | 6 +++---
|
|
drivers/net/wireless/ath/ath11k/spectral.c | 2 +-
|
|
5 files changed, 11 insertions(+), 11 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/ce.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/ce.h
|
|
@@ -145,7 +145,7 @@ struct ath11k_ce_ring {
|
|
u32 hal_ring_id;
|
|
|
|
/* keep last */
|
|
- struct sk_buff *skb[0];
|
|
+ struct sk_buff *skb[];
|
|
};
|
|
|
|
struct ath11k_ce_pipe {
|
|
--- a/drivers/net/wireless/ath/ath11k/core.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/core.h
|
|
@@ -815,7 +815,7 @@ struct ath11k_base {
|
|
} id;
|
|
|
|
/* must be last */
|
|
- u8 drv_priv[0] __aligned(sizeof(void *));
|
|
+ u8 drv_priv[] __aligned(sizeof(void *));
|
|
};
|
|
|
|
struct ath11k_fw_stats_pdev {
|
|
--- a/drivers/net/wireless/ath/ath11k/dp.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/dp.h
|
|
@@ -1173,12 +1173,12 @@ struct ath11k_htt_ppdu_stats_msg {
|
|
u32 ppdu_id;
|
|
u32 timestamp;
|
|
u32 rsvd;
|
|
- u8 data[0];
|
|
+ u8 data[];
|
|
} __packed;
|
|
|
|
struct htt_tlv {
|
|
u32 header;
|
|
- u8 value[0];
|
|
+ u8 value[];
|
|
} __packed;
|
|
|
|
#define HTT_TLV_TAG GENMASK(11, 0)
|
|
@@ -1365,7 +1365,7 @@ struct htt_ppdu_stats_usr_cmn_array {
|
|
* tx_ppdu_stats_info is variable length, with length =
|
|
* number_of_ppdu_stats * sizeof (struct htt_tx_ppdu_stats_info)
|
|
*/
|
|
- struct htt_tx_ppdu_stats_info tx_ppdu_info[0];
|
|
+ struct htt_tx_ppdu_stats_info tx_ppdu_info[];
|
|
} __packed;
|
|
|
|
struct htt_ppdu_user_stats {
|
|
@@ -1427,7 +1427,7 @@ struct htt_ppdu_stats_info {
|
|
*/
|
|
struct htt_pktlog_msg {
|
|
u32 hdr;
|
|
- u8 payload[0];
|
|
+ u8 payload[];
|
|
};
|
|
|
|
/**
|
|
@@ -1648,7 +1648,7 @@ struct ath11k_htt_extd_stats_msg {
|
|
u32 info0;
|
|
u64 cookie;
|
|
u32 info1;
|
|
- u8 data[0];
|
|
+ u8 data[];
|
|
} __packed;
|
|
|
|
#define HTT_MAC_ADDR_L32_0 GENMASK(7, 0)
|
|
--- a/drivers/net/wireless/ath/ath11k/rx_desc.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/rx_desc.h
|
|
@@ -1445,7 +1445,7 @@ struct hal_rx_desc_ipq8074 {
|
|
__le32 hdr_status_tag;
|
|
__le32 phy_ppdu_id;
|
|
u8 hdr_status[HAL_RX_DESC_HDR_STATUS_LEN];
|
|
- u8 msdu_payload[0];
|
|
+ u8 msdu_payload[];
|
|
} __packed;
|
|
|
|
struct hal_rx_desc_qcn9074 {
|
|
@@ -1464,7 +1464,7 @@ struct hal_rx_desc_qcn9074 {
|
|
__le32 hdr_status_tag;
|
|
__le32 phy_ppdu_id;
|
|
u8 hdr_status[HAL_RX_DESC_HDR_STATUS_LEN];
|
|
- u8 msdu_payload[0];
|
|
+ u8 msdu_payload[];
|
|
} __packed;
|
|
|
|
struct hal_rx_desc_wcn6855 {
|
|
@@ -1483,7 +1483,7 @@ struct hal_rx_desc_wcn6855 {
|
|
__le32 hdr_status_tag;
|
|
__le32 phy_ppdu_id;
|
|
u8 hdr_status[HAL_RX_DESC_HDR_STATUS_LEN];
|
|
- u8 msdu_payload[0];
|
|
+ u8 msdu_payload[];
|
|
} __packed;
|
|
|
|
struct hal_rx_desc {
|
|
--- a/drivers/net/wireless/ath/ath11k/spectral.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/spectral.c
|
|
@@ -107,7 +107,7 @@ struct spectral_search_fft_report {
|
|
__le32 info1;
|
|
__le32 info2;
|
|
__le32 reserve0;
|
|
- u8 bins[0];
|
|
+ u8 bins[];
|
|
} __packed;
|
|
|
|
struct ath11k_spectral_search_report {
|