Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 143b3efb authored by Eugenia Emantayev's avatar Eugenia Emantayev Committed by David S. Miller
Browse files

net/mlx4: Verify port number in __mlx4_unregister_mac



Verify port number to avoid crashes if port number is outside the range.

Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
Signed-off-by: default avatarEugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4359db1e
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -244,10 +244,16 @@ EXPORT_SYMBOL_GPL(mlx4_get_base_qpn);

void __mlx4_unregister_mac(struct mlx4_dev *dev, u8 port, u64 mac)
{
	struct mlx4_port_info *info = &mlx4_priv(dev)->port[port];
	struct mlx4_mac_table *table = &info->mac_table;
	struct mlx4_port_info *info;
	struct mlx4_mac_table *table;
	int index;

	if (port < 1 || port > dev->caps.num_ports) {
		mlx4_warn(dev, "invalid port number (%d), aborting...\n", port);
		return;
	}
	info = &mlx4_priv(dev)->port[port];
	table = &info->mac_table;
	mutex_lock(&table->mutex);
	index = find_index(dev, table, mac);