RDMA/mlx5: Silence the overflow warning while building offset mask
authorLeon Romanovsky <leonro@nvidia.com>
Wed, 25 Nov 2020 06:17:04 +0000 (08:17 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 26 Nov 2020 19:49:05 +0000 (15:49 -0400)
Coverity reports "Potentially overflowing expression ..." warning, which
is correct thing to complain from the compiler point of view, but this is
not possible in the current code. Still, this is a small error as there
are some future situations that might need to use a 32 bit offset. Use ULL
so the calculation works up to 63.

Fixes: b045db62f6f6 ("RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ")
Link: https://lore.kernel.org/r/20201125061704.6580-1-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mlx5/mem.c

index f8ec5156d8e9634ebb377d8b028bc057190371fc..844545064c9ea6884d8b6f4aba521773cb90ab6a 100644 (file)
@@ -62,7 +62,7 @@ unsigned long __mlx5_umem_find_best_quantized_pgoff(
        unsigned int page_offset_bits, u64 pgoff_bitmask, unsigned int scale,
        unsigned int *page_offset_quantized)
 {
-       const u64 page_offset_mask = (1 << page_offset_bits) - 1;
+       const u64 page_offset_mask = (1UL << page_offset_bits) - 1;
        unsigned long page_size;
        u64 page_offset;