On Mon, Sep 28, 2015 at 02:13:50PM +0100, Luis Henriques wrote:
> 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'.

Thanks, that fix was still in my todo pile, now done.

greg k-h
--
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