diff options
| author | Jason Gunthorpe <jgg@nvidia.com> | 2026-06-04 04:27:41 +0300 |
|---|---|---|
| committer | Jason Gunthorpe <jgg@nvidia.com> | 2026-06-08 20:32:42 +0300 |
| commit | 93e64c7a33ff6679d4d1c0a03021a2ff0e2b6c98 (patch) | |
| tree | 2506f07005cccd6599f231d5e941b0071b8926d1 /include/linux/stackprotector.h | |
| parent | 55d339d200c908de83a408d023cfb7be779b0dd7 (diff) | |
| download | linux-93e64c7a33ff6679d4d1c0a03021a2ff0e2b6c98.tar.xz | |
RDMA/mlx5: Create ODP EQ for non-pinned dmabuf MRs
DMABUF generally relies on the ODP EQ mechanism to safely implement the
move semantics. ODP requires a device-global one time startup of the ODP
machinery when the first MR is created, and this was missed on the DMABUF
path.
Call mlx5r_odp_create_eq() when creating a ODP'able DMABUF.
The core code prevents using IB_ACCESS_ON_DEMAND unless the driver
advertises IB_ODP_SUPPORT, so until now, mlx5r_odp_create_eq() cannot be
called unless the device has ODP support.
However, DMABUF has no such protection and a second bug was allowing
DMABUFs to be created on non-ODP capable HW. Add a guard at the start of
mlx5r_odp_create_eq(). This is necessary here anyhow as the
dev->odp_eq_mutex is not initialized without IB_ODP_SUPPORT.
Link: https://patch.msgid.link/r/2-v1-29ebd2c229b5+fd5-ib_mr_pd_jgg@nvidia.com
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'include/linux/stackprotector.h')
0 files changed, 0 insertions, 0 deletions
