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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 14:42:29 +0000 (15:42 +0100)
[ Upstream commit 6ca18d8927d468c763571f78c9a7387a69ffa020 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/sw/rxe/rxe_verbs.h

index 47003d2..dee3853 100644 (file)
@@ -422,7 +422,7 @@ struct rxe_dev {
        struct list_head        pending_mmaps;
 
        spinlock_t              mmap_offset_lock; /* guard mmap_offset */
-       int                     mmap_offset;
+       u64                     mmap_offset;
 
        struct rxe_port         port;
        struct list_head        list;