RDMA/irdma: Check contents of user-space irdma_mem_reg_req object
authorShiraz Saleem <shiraz.saleem@intel.com>
Fri, 25 Jun 2021 16:23:28 +0000 (11:23 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 25 Jun 2021 17:08:30 +0000 (14:08 -0300)
commit46308965ae6fdc7c25deb2e8c048510ae51bbe66
tree676f1721fc30843bde5abf55967a8504b2b7b872
parent36941dfe0e8c3e2da7851b9648fd74bd3a3e78ce
RDMA/irdma: Check contents of user-space irdma_mem_reg_req object

The contents of user-space req object is used in array indexing in
irdma_handle_q_mem without checking for valid values.

Guard against bad input on each of these req object pages by limiting them
to number of pages that make up the region.

Link: https://lore.kernel.org/r/20210625162329.1654-2-tatyana.e.nikolova@intel.com
Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
Addresses-Coverity-ID: 1505160 ("TAINTED_SCALAR")
Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs")
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/irdma/verbs.c