Re: Patch "net/mlx4_core: Fix wrong index in propagating port change event to VFs" has been added to the 3.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <stable@xxxxxxxxxxxxxxx> know about it.
> > 
> > 
> > From foo@baz Sat Sep 26 11:19:08 PDT 2015
> > From: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
> > 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 <jackm@xxxxxxxxxxxxxxxxxx>
> > 
> > [ 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 <jackm@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx>
> > Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > ---
> >  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]