net/mlx5e: Don't attempt to dereference the ppriv struct if not being eswitch manager
[ Upstream commit8ffd569aaa] 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:1d447a3914('net/mlx5e: Extendable vport representor netdev private data') Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Reported-by: Eli Cohen <eli@melloanox.com> Reviewed-by: Eli Cohen <eli@melloanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
174dd9808e
commit
9425cb1569
@ -804,8 +804,12 @@ bool mlx5e_is_uplink_rep(struct mlx5e_priv *priv)
|
|||||||
static bool mlx5e_is_vf_vport_rep(struct mlx5e_priv *priv)
|
static bool mlx5e_is_vf_vport_rep(struct mlx5e_priv *priv)
|
||||||
{
|
{
|
||||||
struct mlx5e_rep_priv *rpriv = priv->ppriv;
|
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)
|
if (rep && rep->vport != FDB_UPLINK_VPORT)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user