On Sat, Sep 26, 2015 at 12:21:27PM -0700, Greg Kroah-Hartman wrote:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     net/mlx4_core: Fix wrong index in propagating port change event to VFs
> 
> to the 3.14-stable tree which can be found at:
>     
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      
> net-mlx4_core-fix-wrong-index-in-propagating-port-change-event-to-vfs.patch
> and it can be found in the queue-3.14 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <[email protected]> know about it.
> 
> 
> From foo@baz Sat Sep 26 11:19:08 PDT 2015
> From: Jack Morgenstein <[email protected]>
> Date: Wed, 22 Jul 2015 16:53:47 +0300
> Subject: net/mlx4_core: Fix wrong index in propagating port change event to 
> VFs
> 
> From: Jack Morgenstein <[email protected]>
> 
> [ Upstream commit 1c1bf34951e8d17941bf708d1901c47e81b15d55 ]
> 
> The port-change event processing in procedure mlx4_eq_int() uses "slave"
> as the vf_oper array index. Since the value of "slave" is the PF function
> index, the result is that the PF link state is used for deciding to
> propagate the event for all the VFs. The VF link state should be used,
> so the VF function index should be used here.
> 
> Fixes: 948e306d7d64 ('net/mlx4: Add VF link state support')
> Signed-off-by: Jack Morgenstein <[email protected]>
> Signed-off-by: Matan Barak <[email protected]>
> Signed-off-by: Or Gerlitz <[email protected]>
> Signed-off-by: David S. Miller <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
>  drivers/net/ethernet/mellanox/mlx4/eq.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> --- a/drivers/net/ethernet/mellanox/mlx4/eq.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/eq.c
> @@ -557,7 +557,7 @@ static int mlx4_eq_int(struct mlx4_dev *
>                                               mlx4_dbg(dev, "%s: Sending 
> MLX4_PORT_CHANGE_SUBTYPE_DOWN"
>                                                        " to slave: %d, 
> port:%d\n",
>                                                        __func__, i, port);
> -                                             s_info = 
> &priv->mfunc.master.vf_oper[slave].vport[port].state;
> +                                             s_info = 
> &priv->mfunc.master.vf_oper[i].vport[port].state;
>                                               if (IFLA_VF_LINK_STATE_AUTO == 
> s_info->link_state)
>                                                       mlx4_slave_event(dev, 
> i, eqe);
>                                       } else {  /* IB port */
> @@ -583,7 +583,7 @@ static int mlx4_eq_int(struct mlx4_dev *
>                                       for (i = 0; i < dev->num_slaves; i++) {
>                                               if (i == 
> mlx4_master_func_num(dev))
>                                                       continue;
> -                                             s_info = 
> &priv->mfunc.master.vf_oper[slave].vport[port].state;
> +                                             s_info = 
> &priv->mfunc.master.vf_oper[slave].vport[i].state;

As I said previously, this is incorrect; it should be:

-                                               s_info = 
&priv->mfunc.master.vf_oper[slave].vport[port].state;
+                                               s_info = 
&priv->mfunc.master.vf_oper[i].vport[port].state;

The 'slave' index should be changed by 'i', not 'port'.

Cheers,
--
Luís

>                                               if (IFLA_VF_LINK_STATE_AUTO == 
> s_info->link_state)
>                                                       mlx4_slave_event(dev, 
> i, eqe);
>                                       }
> 
> 
> Patches currently in stable-queue which might be from 
> [email protected] are
> 
> queue-3.14/net-mlx4_core-fix-wrong-index-in-propagating-port-change-event-to-vfs.patch
> queue-3.14/ib-mlx4-forbid-using-sysfs-to-change-roce-pkeys.patch
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to