Skip to content

Commit 4f0d91b

Browse files
Dan Carpenterkuba-moo
authored andcommitted
net/mlx4: prevent potential use after free in mlx4_en_do_uc_filter()
Print "entry->mac" before freeing "entry". The "entry" pointer is freed with kfree_rcu() so it's unlikely that we would trigger this in real life, but it's safer to re-order it. Fixes: cc5387f ("net/mlx4_en: Add unicast MAC filtering") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Tariq Toukan <tariqt@nvidia.com> Link: https://patch.msgid.link/aNvMHX4g8RksFFvV@stanley.mountain Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 49bdb63 commit 4f0d91b

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/net/ethernet/mellanox/mlx4/en_netdev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,9 +1180,9 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
11801180
mlx4_unregister_mac(mdev->dev, priv->port, mac);
11811181

11821182
hlist_del_rcu(&entry->hlist);
1183-
kfree_rcu(entry, rcu);
11841183
en_dbg(DRV, priv, "Removed MAC %pM on port:%d\n",
11851184
entry->mac, priv->port);
1185+
kfree_rcu(entry, rcu);
11861186
++removed;
11871187
}
11881188
}

0 commit comments

Comments
 (0)