]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net/mlx5e: Allocate virtually contiguous memory for VLANs list
authorTariq Toukan <tariqt@nvidia.com>
Tue, 27 Apr 2021 13:11:12 +0000 (16:11 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 18 May 2022 06:41:46 +0000 (23:41 -0700)
Physical continuity is not necessary, and requested allocation size might
be larger than PAGE_SIZE.
Hence, use v-alloc/free API.

Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c

index aeff1d972a4649b2bf1941d30eafbbffbc95b674..d2f0773f95c65e07e2a15610314108be4393bf14 100644 (file)
@@ -155,7 +155,7 @@ static int mlx5e_vport_context_update_vlans(struct mlx5e_priv *priv)
                list_size = max_list_size;
        }
 
-       vlans = kcalloc(list_size, sizeof(*vlans), GFP_KERNEL);
+       vlans = kvcalloc(list_size, sizeof(*vlans), GFP_KERNEL);
        if (!vlans)
                return -ENOMEM;
 
@@ -171,7 +171,7 @@ static int mlx5e_vport_context_update_vlans(struct mlx5e_priv *priv)
                netdev_err(ndev, "Failed to modify vport vlans list err(%d)\n",
                           err);
 
-       kfree(vlans);
+       kvfree(vlans);
        return err;
 }