vdpa/mlx5: fix minsize build
authorThomas Monjalon <thomas@monjalon.net>
Sun, 8 Aug 2021 12:51:36 +0000 (14:51 +0200)
committerDavid Marchand <david.marchand@redhat.com>
Wed, 15 Sep 2021 15:12:29 +0000 (17:12 +0200)
Error occurs when configuring meson with --buildtype=minsize
with GCC 11.1.0:

drivers/vdpa/mlx5/mlx5_vdpa_mem.c: In function ‘mlx5_vdpa_mem_register’:
drivers/vdpa/mlx5/mlx5_vdpa_mem.c:183:24: error:
initialization of ‘uint64_t’ {aka ‘long unsigned int’} from ‘void *’
makes integer from pointer without a cast [-Werror=int-conversion]
|         uint64_t gcd = NULL;
|                        ^~~~
drivers/vdpa/mlx5/mlx5_vdpa_mem.c:244:75: error:
‘mode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
|                         klm_size = mode == MLX5_MKC_ACCESS_MODE_KLM ?
|                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|                               KLM_SIZE_MAX_ALIGN(empty_region_sz) : gcd;
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
drivers/vdpa/mlx5/mlx5_vdpa_mem.c

index a13bde5..59ce4e8 100644 (file)
@@ -177,10 +177,10 @@ mlx5_vdpa_mem_register(struct mlx5_vdpa_priv *priv)
        struct mlx5_devx_mkey_attr mkey_attr;
        struct mlx5_vdpa_query_mr *entry = NULL;
        struct rte_vhost_mem_region *reg = NULL;
-       uint8_t mode;
+       uint8_t mode = 0;
        uint32_t entries_num = 0;
        uint32_t i;
-       uint64_t gcd;
+       uint64_t gcd = 0;
        uint64_t klm_size;
        uint64_t mem_size;
        uint64_t k;