RDMA/rxe: Fix error type of mmap_offset
authorJiewei Ke <kejiewei.cn@gmail.com>
Fri, 27 Dec 2019 11:36:13 +0000 (19:36 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 3 Jan 2020 23:43:51 +0000 (19:43 -0400)
The type of mmap_offset should be u64 instead of int to match the type of
mminfo.offset. If otherwise, after we create several thousands of CQs, it
will run into overflow issues.

Link: https://lore.kernel.org/r/20191227113613.5020-1-kejiewei.cn@gmail.com
Signed-off-by: Jiewei Ke <kejiewei.cn@gmail.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/sw/rxe/rxe_verbs.h

index 95834206c80c3871215bcdbd5a91a6af7f0f74fb..92de39c4a7c1ed3d25488e306816b97b92101790 100644 (file)
@@ -408,7 +408,7 @@ struct rxe_dev {
        struct list_head        pending_mmaps;
 
        spinlock_t              mmap_offset_lock; /* guard mmap_offset */
-       int                     mmap_offset;
+       u64                     mmap_offset;
 
        atomic64_t              stats_counters[RXE_NUM_OF_COUNTERS];