net/mlx4: fix some error handling in mlx4_multi_func_init()
authorRasmus Villemoes <[email protected]>
Tue, 9 Feb 2016 20:11:14 +0000 (21:11 +0100)
committerDoug Ledford <[email protected]>
Thu, 11 Feb 2016 16:04:54 +0000 (11:04 -0500)
commitfa51b247d67b521e1a1103cad75eb7a666fc9ff9
treebc1eeea96673e7aea80c4435cff6ca49a53fa82e
parent7425f410ca6cffe81400906286f80e8e15d9b301
net/mlx4: fix some error handling in mlx4_multi_func_init()

The while loop after err_slaves should use post-decrement; otherwise
we'll fail to do the kfrees for i==0, and will run into out-of-bounds
accesses if the setup above failed already at i==0.

[I'm not sure why one even bothers populating the ->vlan_filter array:
mlx4.h isn't #included by anything outside
drivers/net/ethernet/mellanox/mlx4/, and "git grep -C2 -w vlan_filter
drivers/net/ethernet/mellanox/mlx4/" seems to suggest that the
vlan_filter elements aren't used at all.]

Signed-off-by: Rasmus Villemoes <[email protected]>
Signed-off-by: Doug Ledford <[email protected]>
drivers/net/ethernet/mellanox/mlx4/cmd.c