Tonghao Zhang 2431925866 net/mlx5: Avoid panic when setting vport rate
If we try to set VFs rate on a VF (not PF) net device, the kernel
will be crash. The commands are show as below:

$ echo 2 > /sys/class/net/$MLX_PF0/device/sriov_numvfs
$ ip link set $MLX_VF0 vf 0 max_tx_rate 2 min_tx_rate 1

If not applied the first patch ("net/mlx5: Avoid panic when setting
vport mac, getting vport config"), the command:

$ ip link set $MLX_VF0 vf 0 rate 100

can also crash the kernel.

[ 1650.006388] RIP: 0010:mlx5_eswitch_set_vport_rate+0x1f/0x260 [mlx5_core]
[ 1650.007092]  do_setlink+0x982/0xd20
[ 1650.007129]  __rtnl_newlink+0x528/0x7d0
[ 1650.007374]  rtnl_newlink+0x43/0x60
[ 1650.007407]  rtnetlink_rcv_msg+0x2a2/0x320
[ 1650.007484]  netlink_rcv_skb+0xcb/0x100
[ 1650.007519]  netlink_unicast+0x17f/0x230
[ 1650.007554]  netlink_sendmsg+0x2d2/0x3d0
[ 1650.007592]  sock_sendmsg+0x36/0x50
[ 1650.007625]  ___sys_sendmsg+0x280/0x2a0
[ 1650.007963]  __sys_sendmsg+0x58/0xa0
[ 1650.007998]  do_syscall_64+0x5b/0x180
[ 1650.009438]  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Fixes: c9497c98901c ("net/mlx5: Add support for setting VF min rate")
Cc: Mohamad Haj Yahia <mohamad@mellanox.com>
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-03-11 11:32:40 -07:00
..
2019-03-04 19:16:09 -08:00
2019-01-10 13:39:19 +02:00
2018-12-29 08:20:44 -07:00
2019-02-20 11:40:21 -08:00
2019-02-10 10:39:37 -08:00
2018-12-10 10:17:45 +01:00
2019-03-04 15:32:51 +00:00
2019-02-28 14:05:33 +10:00
2019-01-09 19:20:31 -05:00
2019-03-01 09:13:04 -08:00
2019-03-04 19:33:04 -08:00
2019-02-15 09:12:28 -08:00
2019-01-05 11:30:37 -08:00
2018-12-28 16:52:18 -08:00
2019-02-01 15:53:54 +01:00
2019-03-01 09:50:10 +01:00
2019-03-04 19:23:56 -08:00
2019-02-08 15:32:10 -08:00
2019-01-05 11:23:17 -08:00
2018-12-29 13:03:29 -08:00
2018-12-24 12:06:56 +01:00
2019-01-01 13:24:31 -08:00
2019-03-02 11:39:54 -08:00
2019-03-04 15:32:51 +00:00
2019-02-08 10:49:55 -08:00
2018-12-28 20:54:57 -08:00
2019-01-25 12:58:40 -10:00
2018-12-29 13:40:29 -08:00