Message ID | 20200509120707.188595-1-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [net-next,1/2] ath10k: fix gcc-10 zero-length-bounds warnings | expand |
Arnd, On Sat, May 09, 2020 at 02:06:32PM +0200, Arnd Bergmann wrote: > gcc-10 started warning about out-of-bounds access for zero-length > arrays: > > In file included from drivers/net/wireless/ath/ath10k/core.h:18, > from drivers/net/wireless/ath/ath10k/htt_rx.c:8: > drivers/net/wireless/ath/ath10k/htt_rx.c: In function 'ath10k_htt_rx_tx_fetch_ind': > drivers/net/wireless/ath/ath10k/htt.h:1683:17: warning: array subscript 65535 is outside the bounds of an interior zero-length array 'struct htt_tx_fetch_record[0]' [-Wzero-length-bounds] > 1683 | return (void *)&ind->records[le16_to_cpu(ind->num_records)]; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/ath/ath10k/htt.h:1676:29: note: while referencing 'records' > 1676 | struct htt_tx_fetch_record records[0]; > | ^~~~~~~ > > Make records[] a flexible array member to allow this, moving it behind > the other zero-length member that is not accessed in a way that gcc > warns about. > > Fixes: 3ba225b506a2 ("treewide: Replace zero-length array with flexible-array member") This treewide patch no longer contains changes for ath10k. I removed them since Monday (05/04/2020). So, this "Fixes" tag does not apply. Thanks -- Gustavo > Fixes: 22e6b3bc5d96 ("ath10k: add new htt definitions") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/net/wireless/ath/ath10k/htt.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath10k/htt.h b/drivers/net/wireless/ath/ath10k/htt.h > index 8f3710cf28f4..aa056a186402 100644 > --- a/drivers/net/wireless/ath/ath10k/htt.h > +++ b/drivers/net/wireless/ath/ath10k/htt.h > @@ -1673,8 +1673,8 @@ struct htt_tx_fetch_ind { > __le32 token; > __le16 num_resp_ids; > __le16 num_records; > - struct htt_tx_fetch_record records[0]; > __le32 resp_ids[0]; /* ath10k_htt_get_tx_fetch_ind_resp_ids() */ > + struct htt_tx_fetch_record records[]; > } __packed; > > static inline void * > -- > 2.26.0 >
"Gustavo A. R. Silva" <gustavoars@kernel.org> writes: > Arnd, > > On Sat, May 09, 2020 at 02:06:32PM +0200, Arnd Bergmann wrote: >> gcc-10 started warning about out-of-bounds access for zero-length >> arrays: >> >> In file included from drivers/net/wireless/ath/ath10k/core.h:18, >> from drivers/net/wireless/ath/ath10k/htt_rx.c:8: >> drivers/net/wireless/ath/ath10k/htt_rx.c: In function 'ath10k_htt_rx_tx_fetch_ind': >> drivers/net/wireless/ath/ath10k/htt.h:1683:17: warning: array subscript 65535 is outside the bounds of an interior zero-length array 'struct htt_tx_fetch_record[0]' [-Wzero-length-bounds] >> 1683 | return (void *)&ind->records[le16_to_cpu(ind->num_records)]; >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/wireless/ath/ath10k/htt.h:1676:29: note: while referencing 'records' >> 1676 | struct htt_tx_fetch_record records[0]; >> | ^~~~~~~ >> >> Make records[] a flexible array member to allow this, moving it behind >> the other zero-length member that is not accessed in a way that gcc >> warns about. >> >> Fixes: 3ba225b506a2 ("treewide: Replace zero-length array with >> flexible-array member") > > This treewide patch no longer contains changes for ath10k. I removed them > since Monday (05/04/2020). So, this "Fixes" tag does not apply. Ok, I'll remove it. Also I'll take these to my ath.git tree, not to net-next.
On Mon, May 11, 2020 at 2:03 PM Kalle Valo <kvalo@codeaurora.org> wrote: > "Gustavo A. R. Silva" <gustavoars@kernel.org> writes: > > > > This treewide patch no longer contains changes for ath10k. I removed them > > since Monday (05/04/2020). So, this "Fixes" tag does not apply. Oops, I forgot to update the changelog trext when rebasing. > Ok, I'll remove it. Also I'll take these to my ath.git tree, not to > net-next. Thanks a lot! Arnd
Arnd Bergmann <arnd@arndb.de> writes: > On Mon, May 11, 2020 at 2:03 PM Kalle Valo <kvalo@codeaurora.org> wrote: >> "Gustavo A. R. Silva" <gustavoars@kernel.org> writes: > >> > >> > This treewide patch no longer contains changes for ath10k. I removed them >> > since Monday (05/04/2020). So, this "Fixes" tag does not apply. > > Oops, I forgot to update the changelog trext when rebasing. > >> Ok, I'll remove it. Also I'll take these to my ath.git tree, not to >> net-next. > > Thanks a lot! Weird, I had a conflict with this patch but couldn't figure out why. Anyway, I fixed it in my pending branch and please double check: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=c3e5221f3c3ddabc76a33ff08440ff1dc664998d At least GCC-10 is happy now.
On Mon, May 11, 2020 at 3:10 PM Kalle Valo <kvalo@codeaurora.org> wrote: > > Arnd Bergmann <arnd@arndb.de> writes: > > > On Mon, May 11, 2020 at 2:03 PM Kalle Valo <kvalo@codeaurora.org> wrote: > >> "Gustavo A. R. Silva" <gustavoars@kernel.org> writes: > > > >> > > >> > This treewide patch no longer contains changes for ath10k. I removed them > >> > since Monday (05/04/2020). So, this "Fixes" tag does not apply. > > > > Oops, I forgot to update the changelog trext when rebasing. > > > >> Ok, I'll remove it. Also I'll take these to my ath.git tree, not to > >> net-next. > > > > Thanks a lot! > > Weird, I had a conflict with this patch but couldn't figure out why. > Anyway, I fixed it in my pending branch and please double check: > > https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=c3e5221f3c3ddabc76a33ff08440ff1dc664998d Looks good to me. It may have been an artifact on my side, as I have applied and later reverted Gustavo's patch on the same branch. Arnd
Arnd Bergmann <arnd@arndb.de> wrote: > gcc-10 started warning about out-of-bounds access for zero-length > arrays: > > In file included from drivers/net/wireless/ath/ath10k/core.h:18, > from drivers/net/wireless/ath/ath10k/htt_rx.c:8: > drivers/net/wireless/ath/ath10k/htt_rx.c: In function 'ath10k_htt_rx_tx_fetch_ind': > drivers/net/wireless/ath/ath10k/htt.h:1683:17: warning: array subscript 65535 is outside the bounds of an interior zero-length array 'struct htt_tx_fetch_record[0]' [-Wzero-length-bounds] > 1683 | return (void *)&ind->records[le16_to_cpu(ind->num_records)]; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/ath/ath10k/htt.h:1676:29: note: while referencing 'records' > 1676 | struct htt_tx_fetch_record records[0]; > | ^~~~~~~ > > Make records[] a flexible array member to allow this, moving it behind > the other zero-length member that is not accessed in a way that gcc > warns about. > > Fixes: 22e6b3bc5d96 ("ath10k: add new htt definitions") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> 2 patches applied to ath-next branch of ath.git, thanks. 9f12bebd512c ath10k: fix gcc-10 zero-length-bounds warnings 32221df6765b ath10k: fix ath10k_pci struct layout
diff --git a/drivers/net/wireless/ath/ath10k/htt.h b/drivers/net/wireless/ath/ath10k/htt.h index 8f3710cf28f4..aa056a186402 100644 --- a/drivers/net/wireless/ath/ath10k/htt.h +++ b/drivers/net/wireless/ath/ath10k/htt.h @@ -1673,8 +1673,8 @@ struct htt_tx_fetch_ind { __le32 token; __le16 num_resp_ids; __le16 num_records; - struct htt_tx_fetch_record records[0]; __le32 resp_ids[0]; /* ath10k_htt_get_tx_fetch_ind_resp_ids() */ + struct htt_tx_fetch_record records[]; } __packed; static inline void *
gcc-10 started warning about out-of-bounds access for zero-length arrays: In file included from drivers/net/wireless/ath/ath10k/core.h:18, from drivers/net/wireless/ath/ath10k/htt_rx.c:8: drivers/net/wireless/ath/ath10k/htt_rx.c: In function 'ath10k_htt_rx_tx_fetch_ind': drivers/net/wireless/ath/ath10k/htt.h:1683:17: warning: array subscript 65535 is outside the bounds of an interior zero-length array 'struct htt_tx_fetch_record[0]' [-Wzero-length-bounds] 1683 | return (void *)&ind->records[le16_to_cpu(ind->num_records)]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath10k/htt.h:1676:29: note: while referencing 'records' 1676 | struct htt_tx_fetch_record records[0]; | ^~~~~~~ Make records[] a flexible array member to allow this, moving it behind the other zero-length member that is not accessed in a way that gcc warns about. Fixes: 3ba225b506a2 ("treewide: Replace zero-length array with flexible-array member") Fixes: 22e6b3bc5d96 ("ath10k: add new htt definitions") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/net/wireless/ath/ath10k/htt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)