提交 8ffd569a 编写于 作者: O Or Gerlitz 提交者: Saeed Mahameed

net/mlx5e: Don't attempt to dereference the ppriv struct if not being eswitch manager

The check for cpu hit statistics was not returning immediate false for
any non vport rep netdev and hence we crashed (say on mlx5 probed VFs) if
user-space tool was calling into any possible netdev in the system.

Fix that by doing a proper check before dereferencing.

Fixes: 1d447a39 ('net/mlx5e: Extendable vport representor netdev private data')
Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
Reported-by: NEli Cohen <eli@melloanox.com>
Reviewed-by: NEli Cohen <eli@melloanox.com>
Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
上级 ce397d21
......@@ -837,8 +837,12 @@ bool mlx5e_is_uplink_rep(struct mlx5e_priv *priv)
static bool mlx5e_is_vf_vport_rep(struct mlx5e_priv *priv)
{
struct mlx5e_rep_priv *rpriv = priv->ppriv;
struct mlx5_eswitch_rep *rep = rpriv->rep;
struct mlx5_eswitch_rep *rep;
if (!MLX5_CAP_GEN(priv->mdev, eswitch_flow_table))
return false;
rep = rpriv->rep;
if (rep && rep->vport != FDB_UPLINK_VPORT)
return true;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册