> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf > Of Qianfeng Rong > Sent: Tuesday, August 12, 2025 3:32 PM > To: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Kitszel, > Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn > <andrew+netdev@xxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric > Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo > Abeni <pabeni@xxxxxxxxxx>; Alexei Starovoitov <ast@xxxxxxxxxx>; Daniel > Borkmann <daniel@xxxxxxxxxxxxx>; Jesper Dangaard Brouer > <hawk@xxxxxxxxxx>; John Fastabend <john.fastabend@xxxxxxxxx>; > Stanislav Fomichev <sdf@xxxxxxxxxxx>; moderated list:INTEL ETHERNET > DRIVERS <intel-wired-lan@xxxxxxxxxxxxxxxx>; open list:NETWORKING > DRIVERS <netdev@xxxxxxxxxxxxxxx>; open list <linux- > kernel@xxxxxxxxxxxxxxx>; open list:XDP (eXpress Data > Path):Keyword:(?:\b|_)xdp(?:\b|_) <bpf@xxxxxxxxxxxxxxx> > Cc: Qianfeng Rong <rongqianfeng@xxxxxxxx> > Subject: [Intel-wired-lan] [PATCH 1/5] ethtool: use vmalloc_array() to > simplify code > > Remove array_size() calls and replace vmalloc() with vmalloc_array() > to simplify the code and maintain consistency with existing > kmalloc_array() usage. > > Signed-off-by: Qianfeng Rong <rongqianfeng@xxxxxxxx> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx> > --- > drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c | 2 +- > drivers/net/ethernet/intel/igb/igb_ethtool.c | 8 ++++---- > drivers/net/ethernet/intel/igc/igc_ethtool.c | 8 ++++---- > drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 2 +- > drivers/net/ethernet/intel/ixgbevf/ethtool.c | 6 +++--- > 5 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c > b/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c > index 1954a04460d1..bf2029144c1d 100644 > --- a/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c > +++ b/drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c > @@ -560,7 +560,7 @@ static int fm10k_set_ringparam(struct net_device > *netdev, > > /* allocate temporary buffer to store rings in */ > i = max_t(int, interface->num_tx_queues, interface- > >num_rx_queues); > - temp_ring = vmalloc(array_size(i, sizeof(struct fm10k_ring))); > + temp_ring = vmalloc_array(i, sizeof(struct fm10k_ring)); > > if (!temp_ring) { > err = -ENOMEM; > diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c > b/drivers/net/ethernet/intel/igb/igb_ethtool.c > index 92ef33459aec..51d5cb6599ed 100644 > --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c > +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c > @@ -920,11 +920,11 @@ static int igb_set_ringparam(struct net_device > *netdev, > } > > if (adapter->num_tx_queues > adapter->num_rx_queues) > - temp_ring = vmalloc(array_size(sizeof(struct igb_ring), > - adapter->num_tx_queues)); > + temp_ring = vmalloc_array(adapter->num_tx_queues, > + sizeof(struct igb_ring)); > else > - temp_ring = vmalloc(array_size(sizeof(struct igb_ring), > - adapter->num_rx_queues)); > + temp_ring = vmalloc_array(adapter->num_rx_queues, > + sizeof(struct igb_ring)); > > if (!temp_ring) { > err = -ENOMEM; > diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c > b/drivers/net/ethernet/intel/igc/igc_ethtool.c > index ecb35b693ce5..f3e7218ba6f3 100644 > --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c > +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c > @@ -627,11 +627,11 @@ igc_ethtool_set_ringparam(struct net_device > *netdev, > } > > if (adapter->num_tx_queues > adapter->num_rx_queues) > - temp_ring = vmalloc(array_size(sizeof(struct igc_ring), > - adapter->num_tx_queues)); > + temp_ring = vmalloc_array(adapter->num_tx_queues, > + sizeof(struct igc_ring)); > else > - temp_ring = vmalloc(array_size(sizeof(struct igc_ring), > - adapter->num_rx_queues)); > + temp_ring = vmalloc_array(adapter->num_rx_queues, > + sizeof(struct igc_ring)); > > if (!temp_ring) { > err = -ENOMEM; > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c > b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c > index 25c3a09ad7f1..2c5d774f1ec1 100644 > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c > @@ -1278,7 +1278,7 @@ static int ixgbe_set_ringparam(struct net_device > *netdev, > /* allocate temporary buffer to store rings in */ > i = max_t(int, adapter->num_tx_queues + adapter- > >num_xdp_queues, > adapter->num_rx_queues); > - temp_ring = vmalloc(array_size(i, sizeof(struct ixgbe_ring))); > + temp_ring = vmalloc_array(i, sizeof(struct ixgbe_ring)); > > if (!temp_ring) { > err = -ENOMEM; > diff --git a/drivers/net/ethernet/intel/ixgbevf/ethtool.c > b/drivers/net/ethernet/intel/ixgbevf/ethtool.c > index 7ac53171b041..bebad564188e 100644 > --- a/drivers/net/ethernet/intel/ixgbevf/ethtool.c > +++ b/drivers/net/ethernet/intel/ixgbevf/ethtool.c > @@ -276,9 +276,9 @@ static int ixgbevf_set_ringparam(struct net_device > *netdev, > } > > if (new_tx_count != adapter->tx_ring_count) { > - tx_ring = vmalloc(array_size(sizeof(*tx_ring), > - adapter->num_tx_queues + > - adapter->num_xdp_queues)); > + tx_ring = vmalloc_array(adapter->num_tx_queues + > + adapter->num_xdp_queues, > + sizeof(*tx_ring)); > if (!tx_ring) { > err = -ENOMEM; > goto clear_reset; > -- > 2.34.1