Re: [PATCH 5/5] wifi: mwifiex: use vmalloc_array() to simplify code

From: Dan Carpenter
Date: Thu Aug 14 2025 - 02:24:53 EST


On Wed, Aug 13, 2025 at 11:35:45AM -0700, Jeff Johnson wrote:
> On 8/12/2025 6:48 AM, Dan Carpenter wrote:
> > On Tue, Aug 12, 2025 at 09:32:18PM +0800, Qianfeng Rong wrote:
> >> Remove array_size() calls and replace vmalloc() with vmalloc_array() to
> >> simplify the code.
> >>
> >> Signed-off-by: Qianfeng Rong <rongqianfeng@xxxxxxxx>
> >> ---
> >> drivers/net/wireless/marvell/mwifiex/cfg80211.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> >> index 3498743d5ec0..fb4183ff02a9 100644
> >> --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> >> +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> >> @@ -4673,8 +4673,8 @@ 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 = vmalloc_array(adapter->num_in_chan_stats,
> >> + sizeof(*adapter->chan_stats));
> >
> > n_channels_bg is 14
> > n_channels_a is either 0 or 31 depending on if we're using BAND_A.
> > sizeof(*adapter->chan_stats) is 10.
> >
> > So we're either allocating 280 or 900 bytes, which is quite small. We
> > should just use kmalloc_array() instead of vmalloc_array().
>
> Should transition from v*() to k*() be separate from transition from *malloc()
> to *malloc_array()?

It doesn't make sense to split this up. The right thing is kcalloc().

regards,
dan carpenter