net/mlx5e: Fix static checker warning of potential pointer math issue
Cited patch have an issue in WARN_ON_ONCE check, with wrong address ranges
are compared. Fix that by changing pointer types from u64* to void*. This
will also make code simpler to read.
In addition mlx5e_hv_vhca_fill_ring_stats can get void pointer, so remove
the unnecessary casting when calling it.
Found by static checker:
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)
Fixes: cef35af34d
("net/mlx5e: Add mlx5e HV VHCA stats agent")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
0e5b36bc4c
commit
394cf13c24
|
@ -30,22 +30,21 @@ mlx5e_hv_vhca_fill_ring_stats(struct mlx5e_priv *priv, int ch,
|
|||
}
|
||||
}
|
||||
|
||||
static void mlx5e_hv_vhca_fill_stats(struct mlx5e_priv *priv, u64 *data,
|
||||
static void mlx5e_hv_vhca_fill_stats(struct mlx5e_priv *priv, void *data,
|
||||
int buf_len)
|
||||
{
|
||||
int ch, i = 0;
|
||||
|
||||
for (ch = 0; ch < priv->max_nch; ch++) {
|
||||
u64 *buf = data + i;
|
||||
void *buf = data + i;
|
||||
|
||||
if (WARN_ON_ONCE(buf +
|
||||
sizeof(struct mlx5e_hv_vhca_per_ring_stats) >
|
||||
data + buf_len))
|
||||
return;
|
||||
|
||||
mlx5e_hv_vhca_fill_ring_stats(priv, ch,
|
||||
(struct mlx5e_hv_vhca_per_ring_stats *)buf);
|
||||
i += sizeof(struct mlx5e_hv_vhca_per_ring_stats) / sizeof(u64);
|
||||
mlx5e_hv_vhca_fill_ring_stats(priv, ch, buf);
|
||||
i += sizeof(struct mlx5e_hv_vhca_per_ring_stats);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue