Message ID | 7a6074fb056d2181e058a3cc6048d8155c20aec7.1683371982.git.christophe.jaillet@wanadoo.fr |
---|---|
State | New |
Headers | show |
Series | [wireless] mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan() | expand |
On Sat, May 06, 2023 at 03:53:15PM +0200, Christophe JAILLET wrote: > The type of "mwifiex_adapter->nd_info" is "struct cfg80211_wowlan_nd_info", > not "struct cfg80211_wowlan_nd_match". > > Use struct_size() to ease the computation of the needed size. > > The current code over-allocates some memory, so is safe. > But it wastes 32 bytes. > > Fixes: 7d7f07d8c5d3 ("mwifiex: add wowlan net-detect support") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Simon Horman <simon.horman@corigine.com>
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote: > The type of "mwifiex_adapter->nd_info" is "struct cfg80211_wowlan_nd_info", > not "struct cfg80211_wowlan_nd_match". > > Use struct_size() to ease the computation of the needed size. > > The current code over-allocates some memory, so is safe. > But it wastes 32 bytes. > > Fixes: 7d7f07d8c5d3 ("mwifiex: add wowlan net-detect support") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > Reviewed-by: Simon Horman <simon.horman@corigine.com> Patch applied to wireless-next.git, thanks. d9aef04fcfa8 wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c index ac8001c84293..dd73ade4ddf1 100644 --- a/drivers/net/wireless/marvell/mwifiex/scan.c +++ b/drivers/net/wireless/marvell/mwifiex/scan.c @@ -2187,9 +2187,9 @@ int mwifiex_ret_802_11_scan(struct mwifiex_private *priv, if (nd_config) { adapter->nd_info = - kzalloc(sizeof(struct cfg80211_wowlan_nd_match) + - sizeof(struct cfg80211_wowlan_nd_match *) * - scan_rsp->number_of_sets, GFP_ATOMIC); + kzalloc(struct_size(adapter->nd_info, matches, + scan_rsp->number_of_sets), + GFP_ATOMIC); if (adapter->nd_info) adapter->nd_info->n_matches = scan_rsp->number_of_sets;
The type of "mwifiex_adapter->nd_info" is "struct cfg80211_wowlan_nd_info", not "struct cfg80211_wowlan_nd_match". Use struct_size() to ease the computation of the needed size. The current code over-allocates some memory, so is safe. But it wastes 32 bytes. Fixes: 7d7f07d8c5d3 ("mwifiex: add wowlan net-detect support") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- drivers/net/wireless/marvell/mwifiex/scan.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)