Re: [bug report] net/mlx5e: Add mlx5e HV VHCA stats agent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 28, 2019 at 07:41:14AM +0000, Eran Ben Elisha wrote:
> 
> 
> On 8/26/2019 3:56 PM, Dan Carpenter wrote:
> > Hello Eran Ben Elisha,
> > 
> > The patch cef35af34d6d: "net/mlx5e: Add mlx5e HV VHCA stats agent"
> > from Aug 22, 2019, leads to the following static checker warning:
> > 
> > 	drivers/net/ethernet/mellanox/mlx5/core/en/hv_vhca_stats.c:41 mlx5e_hv_vhca_fill_stats()
> > 	warn: potential pointer math issue ('buf' is a u64 pointer)
> > 
> > drivers/net/ethernet/mellanox/mlx5/core/en/hv_vhca_stats.c
> >      33  static void mlx5e_hv_vhca_fill_stats(struct mlx5e_priv *priv, u64 *data,
> >                                                                        ^^^^^^^^^
> > data is a u64 pointer.
> > 
> >      34                                       int buf_len)
> >      35  {
> >      36          int ch, i = 0;
> >      37
> >      38          for (ch = 0; ch < priv->max_nch; ch++) {
> >      39                  u64 *buf = data + i;
> >                          ^^^^^^^^
> > 
> >      40
> >      41                  if (WARN_ON_ONCE(buf +
> >      42                                   sizeof(struct mlx5e_hv_vhca_per_ring_stats) >
> >                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > This pointer math doesn't work.  I'm surprised the warning doesn't
> > trigger.
> 
> It it not triggered as both 'data' and 'buf' are u64*,
> and sizeof(struct mlx5e_hv_vhca_per_ring_stats) < buf_len as expected.
> This checker does the work, but over wrong range.

Ah.  Of course.  Thanks!

regards,
dan carpenter




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux