[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250814131536.231945-1-rongqianfeng@vivo.com>
Date: Thu, 14 Aug 2025 21:15:31 +0800
From: Qianfeng Rong <rongqianfeng@...o.com>
To: Brian Norris <briannorris@...omium.org>,
Francesco Dolcini <francesco@...cini.it>,
Johannes Berg <johannes.berg@...el.com>,
Sascha Hauer <s.hauer@...gutronix.de>,
Kalle Valo <kvalo@...nel.org>,
Aditya Kumar Singh <quic_adisi@...cinc.com>,
Roopni Devanathan <quic_rdevanat@...cinc.com>,
Qianfeng Rong <rongqianfeng@...o.com>,
Rameshkumar Sundaram <quic_ramess@...cinc.com>,
Jason Xing <kerneljasonxing@...il.com>,
Christophe JAILLET <christophe.jaillet@...adoo.fr>,
Thomas Gleixner <tglx@...utronix.de>,
Jeff Chen <jeff.chen_1@....con>,
Bert Karwatzki <spasswolf@....de>,
Jinjie Ruan <ruanjinjie@...wei.com>,
"John W. Linville" <linville@...driver.com>,
Cathy Luo <cluo@...vell.com>,
Xinmin Hu <huxm@...vell.com>,
Avinash Patil <patila@...vell.com>,
linux-wireless@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: stable@...r.kernel.org,
Dan Carpenter <dan.carpenter@...aro.org>
Subject: [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats
Use kcalloc to allocate 'adapter->chan_stats' memory (max 900 bytes)
instead of vmalloc for efficiency and zero-initialize it for security
per Dan Carpenter's suggestion.
Cc: stable@...r.kernel.org
Fixes: bf35443314ac ("mwifiex: channel statistics support for mwifiex")
Suggested-by: Dan Carpenter <dan.carpenter@...aro.org>
Signed-off-by: Qianfeng Rong <rongqianfeng@...o.com>
---
v2: Change vmalloc_array/vfree to kcalloc/kfree.
---
drivers/net/wireless/marvell/mwifiex/cfg80211.c | 5 +++--
drivers/net/wireless/marvell/mwifiex/main.c | 4 ++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 3498743d5ec0..4c8c7a5fdf23 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -4673,8 +4673,9 @@ int mwifiex_init_channel_scan_gap(struct mwifiex_adapter *adapter)
* additional active scan request for hidden SSIDs on passive channels.
*/
adapter->num_in_chan_stats = 2 * (n_channels_bg + n_channels_a);
- adapter->chan_stats = vmalloc(array_size(sizeof(*adapter->chan_stats),
- adapter->num_in_chan_stats));
+ adapter->chan_stats = kcalloc(adapter->num_in_chan_stats,
+ sizeof(*adapter->chan_stats),
+ GFP_KERNEL);
if (!adapter->chan_stats)
return -ENOMEM;
diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c
index 7b50a88a18e5..1ec069bc8ea1 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.c
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
@@ -642,7 +642,7 @@ static int _mwifiex_fw_dpc(const struct firmware *firmware, void *context)
goto done;
err_add_intf:
- vfree(adapter->chan_stats);
+ kfree(adapter->chan_stats);
err_init_chan_scan:
wiphy_unregister(adapter->wiphy);
wiphy_free(adapter->wiphy);
@@ -1485,7 +1485,7 @@ static void mwifiex_uninit_sw(struct mwifiex_adapter *adapter)
wiphy_free(adapter->wiphy);
adapter->wiphy = NULL;
- vfree(adapter->chan_stats);
+ kfree(adapter->chan_stats);
mwifiex_free_cmd_buffers(adapter);
}
--
2.34.1
Powered by blists - more mailing lists