+ sta...@dpdk.org On Thu, Nov 16, 2017 at 05:34:47PM +0100, Thierry Herbelot wrote: > Simplify the computation for the needed size: > - exact size for the structure header, > - exact size for a number of 64-bit counters. > > Fixes: a4193ae3bc4f ('net/mlx5: support extended statistics') > > Signed-off-by: Thierry Herbelot <thierry.herbe...@6wind.com> > --- > drivers/net/mlx5/mlx5_stats.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c > index 5e225d3740d2..2427585f71ca 100644 > --- a/drivers/net/mlx5/mlx5_stats.c > +++ b/drivers/net/mlx5/mlx5_stats.c > @@ -143,11 +143,9 @@ priv_read_dev_counters(struct priv *priv, uint64_t > *stats) > struct mlx5_xstats_ctrl *xstats_ctrl = &priv->xstats_ctrl; > unsigned int i; > struct ifreq ifr; > - unsigned int stats_sz = (xstats_ctrl->stats_n * sizeof(uint64_t)) + > - sizeof(struct ethtool_stats); > - struct ethtool_stats et_stats[(stats_sz + ( > - sizeof(struct ethtool_stats) - 1)) / > - sizeof(struct ethtool_stats)]; > + unsigned int stats_sz = xstats_ctrl->stats_n * sizeof(uint64_t); > + unsigned char et_stat_buf[sizeof(struct ethtool_stats) + stats_sz]; > + struct ethtool_stats *et_stats = (struct ethtool_stats *)et_stat_buf; > > et_stats->cmd = ETHTOOL_GSTATS; > et_stats->n_stats = xstats_ctrl->stats_n; > -- > 2.11.0 Acked-by: Nelio Laranjeiro <nelio.laranje...@6wind.com>
Thanks, -- NĂ©lio Laranjeiro 6WIND