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 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'.

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 jackm@xxxxxxxxxxxxxxxxxx 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 majordomo@xxxxxxxxxxxxxxx
> 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 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]