linux_dsm_epyc7002/drivers/infiniband/hw/mlx5
Artemy Kovalyov 4d5422a309 IB/mlx5: Skip non-ODP MR when handling a page fault
It is possible that we call pagefault_single_data_segment() with a MKey
that belongs to a memory region which is not on demand (i.e. pinned
pages). This can happen if, for instance, a WQE that points to multiple
MRs where some of them are ODP MRs and some are not.  In this case we
don't need to handle this MR in the ODP context besides reporting success.

Otherwise the code will call pagefault_mr() which will do to_ib_umem_odp()
on a non-ODP MR and thus access out of bounds.

Fixes: 7bdf65d411 ("IB/mlx5: Handle page faults")
Signed-off-by: Artemy Kovalyov <artemyko@mellanox.com>
Signed-off-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-11-26 16:27:29 -07:00
..
ah.c RDMA: Convert drivers to use sgid_attr instead of sgid_index 2018-06-18 11:11:26 -06:00
cmd.c IB/mlx5: Set uid as part of TD commands 2018-09-25 14:06:38 -06:00
cmd.h IB/mlx5: Set uid as part of TD commands 2018-09-25 14:06:38 -06:00
cong.c IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers 2018-07-09 13:15:12 -06:00
cq.c First merge window pull request 2018-10-26 07:38:19 -07:00
devx.c Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux into net-next 2018-10-17 14:13:36 -07:00
doorbell.c IB/mlx5: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
flow.c First merge window pull request 2018-10-26 07:38:19 -07:00
gsi.c RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const 2018-07-30 20:09:34 -06:00
ib_rep.c RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
ib_rep.h RDMA/mlx5: Update SPDX tags to show proper license 2018-06-05 14:04:20 -06:00
ib_virt.c IB/mlx5: Restore IB guid/policy for virtual functions 2017-07-24 10:34:28 -04:00
Kconfig net/mlx5: Fix tristate and description for MLX5 module 2018-07-18 14:33:25 -07:00
mad.c IB/mlx5: Route MADs for dual port RoCE 2018-01-08 11:42:23 -07:00
main.c IB/mlx5: Avoid load failure due to unknown link width 2018-11-21 14:18:02 -07:00
Makefile IB/mlx5: Introduce flow steering matcher uapi object 2018-07-24 13:34:37 -06:00
mem.c RDMA/umem: Get rid of struct ib_umem.odp_data 2018-09-21 11:54:46 -04:00
mlx5_ib.h First merge window pull request 2018-10-26 07:38:19 -07:00
mr.c IB/mlx5: Fix MR cache initialization 2018-10-16 08:30:37 -06:00
odp.c IB/mlx5: Skip non-ODP MR when handling a page fault 2018-11-26 16:27:29 -07:00
qp.c IB/mlx5: Fix XRC QP support after introducing extended atomic 2018-11-21 14:15:14 -07:00
srq.c IB/mlx5: Set uid as part of SRQ commands 2018-09-25 14:06:04 -06:00