> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of Qianfeng Rong
> Sent: Tuesday, August 12, 2025 3:32 PM
> To: Nguyen, Anthony L <[email protected]>; Kitszel,
> Przemyslaw <[email protected]>; Andrew Lunn
> <[email protected]>; David S. Miller <[email protected]>; Eric
> Dumazet <[email protected]>; Jakub Kicinski <[email protected]>; Paolo
> Abeni <[email protected]>; Alexei Starovoitov <[email protected]>; Daniel
> Borkmann <[email protected]>; Jesper Dangaard Brouer
> <[email protected]>; John Fastabend <[email protected]>;
> Stanislav Fomichev <[email protected]>; moderated list:INTEL ETHERNET
> DRIVERS <[email protected]>; open list:NETWORKING
> DRIVERS <[email protected]>; open list <linux-
> [email protected]>; open list:XDP (eXpress Data
> Path):Keyword:(?:\b|_)xdp(?:\b|_) <[email protected]>
> Cc: Qianfeng Rong <[email protected]>
> 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 <[email protected]>

Reviewed-by: Aleksandr Loktionov <[email protected]>
> ---
>  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

Reply via email to