]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net/mlx5: Fix access to sf_dev_table on allocation failure
authorShay Drory <shayd@nvidia.com>
Thu, 30 Dec 2021 06:54:08 +0000 (08:54 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Fri, 7 Jan 2022 00:55:41 +0000 (16:55 -0800)
Even when SF devices are supported, the SF device table allocation
can still fail.
In such case mlx5_sf_dev_supported still reports true, but SF device
table is invalid. This can result in NULL table access.

Hence, fix it by adding NULL table check.

Fixes: 8e1ee658163b ("net/mlx5: SF, Add auxiliary device driver")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Parav Pandit <parav@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c

index f37db7cc32a6585d09c5d85ccf4692eb9531cb33..7da012ff0d4192847b3b8e4bcd16d49d1916479b 100644 (file)
@@ -30,10 +30,7 @@ bool mlx5_sf_dev_allocated(const struct mlx5_core_dev *dev)
 {
        struct mlx5_sf_dev_table *table = dev->priv.sf_dev_table;
 
-       if (!mlx5_sf_dev_supported(dev))
-               return false;
-
-       return !xa_empty(&table->devices);
+       return table && !xa_empty(&table->devices);
 }
 
 static ssize_t sfnum_show(struct device *dev, struct device_attribute *attr, char *buf)