mbox series

[rdma-core,0/6] verbs: Allow destroy after device disassociation

Message ID 1533226416-19122-1-git-send-email-yishaih@mellanox.com (mailing list archive)
Headers show
Series verbs: Allow destroy after device disassociation | expand

Message

Yishai Hadas Aug. 2, 2018, 4:13 p.m. UTC
This series allows destroy commands to succeed after device disassociation,
this comes to prevent memory leakage in the user space area.

Setting the environment variable RDMAV_ALLOW_DISASSOC_DESTROY tells the library
to relate an EIO from destroy commands as a success as the kernel resources
were already released. Applications using this flag cannot call
ibv_get_cq_event or ibv_get_async_event concurrently with any call to an object
destruction function.

PR was sent:
https://github.com/linux-rdma/rdma-core/pull/366

Jason Gunthorpe (2):
  verbs: Use the new kabi macros with the write fallback system
  verbs: Convert write path callers to use DECLARE_LEGACY_CORE_BUFS

Yishai Hadas (4):
  verbs: Introduce ENV to control EIO upon destroy commands
  verbs: Consider EIO upon write destroy commands
  mlx4: Move to use verbs_allow_disassociate_destroy
  Consider EIO upon ioctl destroy commands

 libibverbs/cmd.c                 | 218 ++++++++++++++++++++-------------------
 libibverbs/cmd_counters.c        |   8 +-
 libibverbs/cmd_cq.c              |  18 ++--
 libibverbs/cmd_dm.c              |   7 +-
 libibverbs/cmd_fallback.c        |  54 ++++++----
 libibverbs/cmd_flow_action.c     |   8 +-
 libibverbs/cmd_write.h           | 193 +++++++++++++++++-----------------
 libibverbs/driver.h              |   3 +-
 libibverbs/init.c                |  10 ++
 libibverbs/libibverbs.map.in     |   1 +
 libibverbs/man/ibv_open_device.3 |   8 ++
 providers/mlx4/mlx4.c            |  12 ---
 providers/mlx4/mlx4.h            |   6 --
 providers/mlx4/srq.c             |   2 +-
 providers/mlx4/verbs.c           |  25 +++--
 providers/mlx5/verbs.c           |   5 +-
 16 files changed, 305 insertions(+), 273 deletions(-)