2015-09-09 20:57:13

by Sergei Trofimovich

[permalink] [raw]
Subject: [PATCH] net/mac80211/rate.c: fix wrong sizeof()

From: Sergei Trofimovich <[email protected]>

Noticed by gcc-5.2.0:

net/mac80211/rate.c: In function 'rate_control_cap_mask':
net/mac80211/rate.c:719:25: warning: 'sizeof' on array function parameter 'mcs_mask' will return size of 'u8 * {aka unsigned char *}' [-Wsizeof-array-argument]
for (i = 0; i < sizeof(mcs_mask); i++)
^

CC: Lorenzo Bianconi <[email protected]>
CC: Johannes Berg <[email protected]>
CC: "David S. Miller" <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
Signed-off-by: Sergei Trofimovich <[email protected]>
---
net/mac80211/rate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index 9857693..9ce8883 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -716,7 +716,7 @@ static bool rate_control_cap_mask(struct ieee80211_sub_if_data *sdata,

/* Filter out rates that the STA does not support */
*mask &= sta->supp_rates[sband->band];
- for (i = 0; i < sizeof(mcs_mask); i++)
+ for (i = 0; i < IEEE80211_HT_MCS_MASK_LEN; i++)
mcs_mask[i] &= sta->ht_cap.mcs.rx_mask[i];

sta_vht_cap = sta->vht_cap.vht_mcs.rx_mcs_map;
--
2.5.0



2015-09-10 08:13:13

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] net/mac80211/rate.c: fix wrong sizeof()

On Wed, 2015-09-09 at 21:56 +0100, Sergei Trofimovich wrote:
> From: Sergei Trofimovich <[email protected]>
>
> Noticed by gcc-5.2.0:
>
> net/mac80211/rate.c: In function 'rate_control_cap_mask':
> net/mac80211/rate.c:719:25: warning: 'sizeof' on array function
> parameter 'mcs_mask' will return size of 'u8 * {aka unsigned char *}'
> [-Wsizeof-array-argument]
> for (i = 0; i < sizeof(mcs_mask); i++)
> ^
>
We already merged a fix for this.

johannes