RDMA/mlx5: Check for ERR_PTR from uverbs_zalloc()
authorJason Gunthorpe <jgg@nvidia.com>
Tue, 24 Nov 2020 23:34:33 +0000 (19:34 -0400)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 26 Nov 2020 19:49:04 +0000 (15:49 -0400)
The return code from uverbs_zalloc() was wrongly checked, it is ERR_PTR
not NULL like other allocators:

drivers/infiniband/hw/mlx5/devx.c:2110 devx_umem_reg_cmd_alloc() warn: passing zero to 'PTR_ERR'

Fixes: 878f7b31c3a7 ("RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx")
Link: https://lore.kernel.org/r/0-v1-4d05ccc1c223+173-devx_err_ptr_jgg@nvidia.com
Reported-by: kernel test robot <lkp@intel.com>
Acked-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mlx5/devx.c

index 7c3eefb..ad0173f 100644 (file)
@@ -2106,7 +2106,7 @@ static int devx_umem_reg_cmd_alloc(struct mlx5_ib_dev *dev,
                     (MLX5_ST_SZ_BYTES(mtt) *
                      ib_umem_num_dma_blocks(obj->umem, page_size));
        cmd->in = uverbs_zalloc(attrs, cmd->inlen);
-       if (!cmd->in)
+       if (IS_ERR(cmd->in))
                return PTR_ERR(cmd->in);
 
        umem = MLX5_ADDR_OF(create_umem_in, cmd->in, umem);