]> Git Repo - linux.git/commitdiff
net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap
authorJack Morgenstein <[email protected]>
Wed, 30 May 2012 09:14:54 +0000 (09:14 +0000)
committerDavid S. Miller <[email protected]>
Thu, 31 May 2012 22:18:16 +0000 (18:18 -0400)
The range check was performed after using the port number.

Reverse this to prevent a potential array overflow.

Signed-off-by: Jack Morgenstein <[email protected]>
Reviewed-by: Or Gerlitz <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
drivers/net/ethernet/mellanox/mlx4/main.c

index 7f71be0ca5f28add281eac52763f421a506ffc7d..ee6f4fe00837ea2ecd2324f076a7bfa60df2d5b7 100644 (file)
@@ -485,15 +485,15 @@ static int mlx4_slave_cap(struct mlx4_dev *dev)
        dev->caps.num_mgms              = 0;
        dev->caps.num_amgms             = 0;
 
-       for (i = 1; i <= dev->caps.num_ports; ++i)
-               dev->caps.port_mask[i] = dev->caps.port_type[i];
-
        if (dev->caps.num_ports > MLX4_MAX_PORTS) {
                mlx4_err(dev, "HCA has %d ports, but we only support %d, "
                         "aborting.\n", dev->caps.num_ports, MLX4_MAX_PORTS);
                return -ENODEV;
        }
 
+       for (i = 1; i <= dev->caps.num_ports; ++i)
+               dev->caps.port_mask[i] = dev->caps.port_type[i];
+
        if (dev->caps.uar_page_size * (dev->caps.num_uars -
                                       dev->caps.reserved_uars) >
                                       pci_resource_len(dev->pdev, 2)) {
This page took 0.05725 seconds and 4 git commands to generate.