OSDN Git Service

RDMA/mlx5: Return proper error value
authorLeon Romanovsky <leonro@mellanox.com>
Tue, 29 Oct 2019 05:57:21 +0000 (07:57 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 31 Oct 2019 18:31:49 +0000 (15:31 -0300)
Returned value from mlx5_mr_cache_alloc() is checked to be error or real
pointer. Return proper error code instead of NULL which is not checked
later.

Fixes: 81713d3788d2 ("IB/mlx5: Add implicit MR support")
Link: https://lore.kernel.org/r/20191029055721.7192-1-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/mr.c

index f583476..077ca10 100644 (file)
@@ -411,7 +411,7 @@ struct mlx5_ib_mr *mlx5_mr_cache_alloc(struct mlx5_ib_dev *dev, int entry)
 
        if (entry < 0 || entry >= MAX_MR_CACHE_ENTRIES) {
                mlx5_ib_err(dev, "cache entry %d is out of range\n", entry);
-               return NULL;
+               return ERR_PTR(-EINVAL);
        }
 
        ent = &cache->ent[entry];