* [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats
@ 2025-08-14 13:15 Qianfeng Rong
2025-08-14 14:33 ` Markus Elfring
2025-08-14 14:50 ` Dan Carpenter
0 siblings, 2 replies; 6+ messages in thread
From: Qianfeng Rong @ 2025-08-14 13:15 UTC (permalink / raw)
To: Brian Norris, Francesco Dolcini, Johannes Berg, Sascha Hauer,
Kalle Valo, Aditya Kumar Singh, Roopni Devanathan, Qianfeng Rong,
Rameshkumar Sundaram, Jason Xing, Christophe JAILLET,
Thomas Gleixner, Jeff Chen, Bert Karwatzki, Jinjie Ruan,
John W. Linville, Cathy Luo, Xinmin Hu, Avinash Patil,
linux-wireless, linux-kernel
Cc: stable, Dan Carpenter
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@vger.kernel.org
Fixes: bf35443314ac ("mwifiex: channel statistics support for mwifiex")
Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats
2025-08-14 13:15 [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats Qianfeng Rong
@ 2025-08-14 14:33 ` Markus Elfring
2025-08-25 8:04 ` Johannes Berg
2025-08-14 14:50 ` Dan Carpenter
1 sibling, 1 reply; 6+ messages in thread
From: Markus Elfring @ 2025-08-14 14:33 UTC (permalink / raw)
To: Qianfeng Rong, linux-wireless, Aditya Kumar Singh, Avinash Patil,
Bert Karwatzki, Brian Norris, Cathy Luo, Christophe Jaillet,
Francesco Dolcini, Jason Xing, Jinjie Ruan, Johannes Berg,
John W. Linville, Kalle Valo, Rameshkumar Sundaram,
Roopni Devanathan, Sascha Hauer, Thomas Gleixner, Xinmin Hu
Cc: stable, LKML, Dan Carpenter
> Use kcalloc to allocate 'adapter->chan_stats' memory …
I find the summary phrase and change description improvable.
Regards,
Markus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats
2025-08-14 13:15 [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats Qianfeng Rong
2025-08-14 14:33 ` Markus Elfring
@ 2025-08-14 14:50 ` Dan Carpenter
2025-08-15 2:06 ` Qianfeng Rong
2025-08-15 9:28 ` [v2] " Markus Elfring
1 sibling, 2 replies; 6+ messages in thread
From: Dan Carpenter @ 2025-08-14 14:50 UTC (permalink / raw)
To: Qianfeng Rong
Cc: Brian Norris, Francesco Dolcini, Johannes Berg, Sascha Hauer,
Kalle Valo, Aditya Kumar Singh, Roopni Devanathan,
Rameshkumar Sundaram, Jason Xing, Christophe JAILLET,
Thomas Gleixner, Jeff Chen, Bert Karwatzki, Jinjie Ruan,
John W. Linville, Cathy Luo, Xinmin Hu, Avinash Patil,
linux-wireless, linux-kernel, stable
On Thu, Aug 14, 2025 at 09:15:31PM +0800, Qianfeng Rong wrote:
> 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.
>
This patch is okay, but lets re-write the commit message:
Subject: wifi: mwifiex: Initialize the chan_stats array to zero
The adapter->chan_stats[] array is initialized in
mwifiex_init_channel_scan_gap() with vmalloc(), which doesn't zero out
memory. The array is filled in mwifiex_update_chan_statistics()
and then the user can query the data in mwifiex_cfg80211_dump_survey().
There are two potential issues here. What if the user calls
mwifiex_cfg80211_dump_survey() before the data has been filled in.
Also the mwifiex_update_chan_statistics() function doesn't necessarily
initialize the whole array. Since the array was not initialized at
the start that could result in an information leak.
Also this array is pretty small. It's a maximum of 900 bytes so it's
more appropriate to use kcalloc() instead vmalloc().
regards,
dan carpenter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats
2025-08-14 14:50 ` Dan Carpenter
@ 2025-08-15 2:06 ` Qianfeng Rong
2025-08-15 9:28 ` [v2] " Markus Elfring
1 sibling, 0 replies; 6+ messages in thread
From: Qianfeng Rong @ 2025-08-15 2:06 UTC (permalink / raw)
To: Dan Carpenter
Cc: Brian Norris, Francesco Dolcini, Johannes Berg, Sascha Hauer,
Kalle Valo, Aditya Kumar Singh, Roopni Devanathan,
Rameshkumar Sundaram, Jason Xing, Christophe JAILLET,
Thomas Gleixner, Jeff Chen, Bert Karwatzki, Jinjie Ruan,
John W. Linville, Cathy Luo, Xinmin Hu, Avinash Patil,
linux-wireless, linux-kernel, stable
在 2025/8/14 22:50, Dan Carpenter 写道:
> On Thu, Aug 14, 2025 at 09:15:31PM +0800, Qianfeng Rong wrote:
>> 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.
>>
> This patch is okay, but lets re-write the commit message:
>
> Subject: wifi: mwifiex: Initialize the chan_stats array to zero
>
> The adapter->chan_stats[] array is initialized in
> mwifiex_init_channel_scan_gap() with vmalloc(), which doesn't zero out
> memory. The array is filled in mwifiex_update_chan_statistics()
> and then the user can query the data in mwifiex_cfg80211_dump_survey().
>
> There are two potential issues here. What if the user calls
> mwifiex_cfg80211_dump_survey() before the data has been filled in.
> Also the mwifiex_update_chan_statistics() function doesn't necessarily
> initialize the whole array. Since the array was not initialized at
> the start that could result in an information leak.
>
> Also this array is pretty small. It's a maximum of 900 bytes so it's
> more appropriate to use kcalloc() instead vmalloc().
Ok,Thank you for your correction, I will release the next version soon.
>
> regards,
> dan carpenter
Best regards,
Qianfeng
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [v2] wifi: mwifiex: use kcalloc to apply for chan_stats
2025-08-14 14:50 ` Dan Carpenter
2025-08-15 2:06 ` Qianfeng Rong
@ 2025-08-15 9:28 ` Markus Elfring
1 sibling, 0 replies; 6+ messages in thread
From: Markus Elfring @ 2025-08-15 9:28 UTC (permalink / raw)
To: Dan Carpenter, Qianfeng Rong, linux-wireless, Aditya Kumar Singh,
Avinash Patil, Bert Karwatzki, Brian Norris, Cathy Luo,
Christophe Jaillet, Francesco Dolcini, Jason Xing, Jinjie Ruan,
Johannes Berg, John W. Linville, Kalle Valo, Rameshkumar Sundaram,
Roopni Devanathan, Sascha Hauer, Thomas Gleixner, Xinmin Hu
Cc: stable, LKML
> This patch is okay, but lets re-write the commit message:
…
Can such feedback trigger further collateral evolution?
Will any related software design options become more interesting?
Regards,
Markus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats
2025-08-14 14:33 ` Markus Elfring
@ 2025-08-25 8:04 ` Johannes Berg
0 siblings, 0 replies; 6+ messages in thread
From: Johannes Berg @ 2025-08-25 8:04 UTC (permalink / raw)
To: Markus Elfring, Qianfeng Rong, linux-wireless, Aditya Kumar Singh,
Avinash Patil, Bert Karwatzki, Brian Norris, Cathy Luo,
Christophe Jaillet, Francesco Dolcini, Jason Xing, Jinjie Ruan,
John W. Linville, Kalle Valo, Rameshkumar Sundaram,
Roopni Devanathan, Sascha Hauer, Thomas Gleixner, Xinmin Hu
Cc: stable, LKML, Dan Carpenter
On Thu, 2025-08-14 at 16:33 +0200, Markus Elfring wrote:
> > Use kcalloc to allocate 'adapter->chan_stats' memory …
>
> I find the summary phrase and change description improvable.
We all find your behaviour improvable. Go away and leave the wireless
list alone.
johannes
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-08-25 8:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-14 13:15 [PATCH v2] wifi: mwifiex: use kcalloc to apply for chan_stats Qianfeng Rong
2025-08-14 14:33 ` Markus Elfring
2025-08-25 8:04 ` Johannes Berg
2025-08-14 14:50 ` Dan Carpenter
2025-08-15 2:06 ` Qianfeng Rong
2025-08-15 9:28 ` [v2] " Markus Elfring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).