lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <0-v3-f58e6669d5d3+2cf-fmr_removal_jgg@mellanox.com>
Date:   Thu, 28 May 2020 16:45:42 -0300
From:   Jason Gunthorpe <jgg@...pe.ca>
To:     linux-rdma@...r.kernel.org, netdev@...r.kernel.org
Cc:     Ariel Elior <aelior@...vell.com>, aron.silverton@...cle.com,
        Bernard Metzler <bmt@...ich.ibm.com>,
        Bart Van Assche <bvanassche@....org>,
        Dennis Dalessandro <dennis.dalessandro@...el.com>,
        Devesh Sharma <devesh.sharma@...adcom.com>,
        Faisal Latif <faisal.latif@...el.com>,
        Gal Pressman <galpress@...zon.com>,
        Israel Rukshin <israelr@...lanox.com>,
        Leon Romanovsky <leonro@...lanox.com>,
        Max Gurtovoy <maxg@...lanox.com>,
        Mike Marciniszyn <mike.marciniszyn@...el.com>,
        Michal Kalderon <mkalderon@...vell.com>, oren@...lanox.com,
        Sagi Grimberg <sagi@...mberg.me>, santosh.shilimkar@...cle.com,
        Selvin Xavier <selvin.xavier@...adcom.com>,
        Shiraz Saleem <shiraz.saleem@...el.com>, shlomin@...lanox.com,
        Somnath Kotur <somnath.kotur@...adcom.com>,
        Sriharsha Basavapatna <sriharsha.basavapatna@...adcom.com>,
        vladimirk@...lanox.com, Yishai Hadas <yishaih@...lanox.com>
Subject: [PATCH v3 00/13] Remove FMR support from RDMA drivers

From: Jason Gunthorpe <jgg@...lanox.com>

This series removes the support for FMR mode to register memory. This
ancient mode is unsafe (rkeys that are usually exposed for caching
purposes and the API is limited to page granularity mappings) and not
maintained/tested in the last few years. It also doesn't have any
reasonable advantage over other memory registration methods such as
FRWR (that is implemented in all the recent RDMA adapters). This series
should be reviewed and approved by the maintainer of the effected drivers
and I suggest to test it as well.

Changes from V2:
 - Removed more occurances of _fmr
 - Remove max_map_per_fmr device attribute
 - Remove max_fmr device attribute
 - Remove additional dead code from bnxt_re and i40iw
 - Revised RDS to not use ib_fmr_attr or other fmr things
 - Rebased on RDMA for-next
Changes from V1:
 https://lore.kernel.org/linux-rdma/20200527094634.24240-1-maxg@mellanox.com/
 - added "RDMA/mlx5: Remove FMR leftovers" (from GalP)
 - rebased on top of "Linux 5.7-rc7"
 - added "Reviewed-by" Bart signature for SRP

Cc: shlomin@...lanox.com
Cc: vladimirk@...lanox.com
Cc: oren@...lanox.com

Gal Pressman (1):
  RDMA/mlx5: Remove FMR leftovers

Israel Rukshin (1):
  RDMA/iser: Remove support for FMR memory registration

Jason Gunthorpe (4):
  RDMA/bnxt_re: Remove FMR leftovers
  RDMA/i40iw: Remove FMR leftovers
  RDMA: Remove 'max_fmr'
  RDMA: Remove 'max_map_per_fmr'

Max Gurtovoy (7):
  RDMA/srp: Remove support for FMR memory registration
  RDMA/rds: Remove FMR support for memory registration
  RDMA/core: Remove FMR pool API
  RDMA/mlx4: Remove FMR support for memory registration
  RDMA/mthca: Remove FMR support for memory registration
  RDMA/rdmavt: Remove FMR memory registration
  RDMA/core: Remove FMR device ops

 Documentation/driver-api/infiniband.rst      |   3 -
 Documentation/infiniband/core_locking.rst    |   2 -
 drivers/infiniband/core/Makefile             |   2 +-
 drivers/infiniband/core/device.c             |   4 -
 drivers/infiniband/core/fmr_pool.c           | 494 -------------------
 drivers/infiniband/core/uverbs_cmd.c         |   2 -
 drivers/infiniband/core/verbs.c              |  48 --
 drivers/infiniband/hw/bnxt_re/ib_verbs.c     |   3 -
 drivers/infiniband/hw/bnxt_re/ib_verbs.h     |   6 -
 drivers/infiniband/hw/bnxt_re/qplib_sp.c     |   3 -
 drivers/infiniband/hw/bnxt_re/qplib_sp.h     |   2 -
 drivers/infiniband/hw/hfi1/verbs.c           |   1 -
 drivers/infiniband/hw/i40iw/i40iw.h          |   9 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.c    |   1 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.h    |   1 -
 drivers/infiniband/hw/mlx4/main.c            |  11 -
 drivers/infiniband/hw/mlx4/mlx4_ib.h         |  16 -
 drivers/infiniband/hw/mlx4/mr.c              |  93 ----
 drivers/infiniband/hw/mlx5/main.c            |   1 -
 drivers/infiniband/hw/mlx5/mlx5_ib.h         |   8 -
 drivers/infiniband/hw/mthca/mthca_dev.h      |  10 -
 drivers/infiniband/hw/mthca/mthca_mr.c       | 262 +---------
 drivers/infiniband/hw/mthca/mthca_provider.c |  96 ----
 drivers/infiniband/hw/mthca/mthca_provider.h |  23 -
 drivers/infiniband/hw/ocrdma/ocrdma.h        |   1 -
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c     |   1 -
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |   2 -
 drivers/infiniband/hw/qedr/main.c            |   1 -
 drivers/infiniband/hw/qedr/qedr.h            |   1 -
 drivers/infiniband/hw/qedr/verbs.c           |   2 -
 drivers/infiniband/hw/qib/qib_verbs.c        |   1 -
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |   1 -
 drivers/infiniband/sw/rdmavt/mr.c            | 155 ------
 drivers/infiniband/sw/rdmavt/mr.h            |  15 -
 drivers/infiniband/sw/rdmavt/vt.c            |   4 -
 drivers/infiniband/sw/siw/siw.h              |   2 -
 drivers/infiniband/sw/siw/siw_main.c         |   1 -
 drivers/infiniband/sw/siw/siw_verbs.c        |   1 -
 drivers/infiniband/ulp/iser/iscsi_iser.h     |  79 +--
 drivers/infiniband/ulp/iser/iser_initiator.c |  19 +-
 drivers/infiniband/ulp/iser/iser_memory.c    | 188 +------
 drivers/infiniband/ulp/iser/iser_verbs.c     | 126 +----
 drivers/infiniband/ulp/srp/ib_srp.c          | 222 +--------
 drivers/infiniband/ulp/srp/ib_srp.h          |  27 +-
 drivers/net/ethernet/mellanox/mlx4/main.c    |   2 -
 drivers/net/ethernet/mellanox/mlx4/mr.c      | 183 -------
 drivers/net/ethernet/qlogic/qed/qed_rdma.c   |   1 -
 drivers/net/ethernet/qlogic/qed/qed_rdma.h   |   1 -
 include/linux/mlx4/device.h                  |  22 +-
 include/linux/qed/qed_rdma_if.h              |   1 -
 include/rdma/ib_fmr_pool.h                   |  93 ----
 include/rdma/ib_verbs.h                      |  61 ---
 net/rds/Makefile                             |   2 +-
 net/rds/ib.c                                 |  22 +-
 net/rds/ib.h                                 |   2 -
 net/rds/ib_cm.c                              |   4 +-
 net/rds/ib_fmr.c                             | 269 ----------
 net/rds/ib_frmr.c                            |   4 +-
 net/rds/ib_mr.h                              |  14 +-
 net/rds/ib_rdma.c                            |  28 +-
 60 files changed, 88 insertions(+), 2571 deletions(-)
 delete mode 100644 drivers/infiniband/core/fmr_pool.c
 delete mode 100644 include/rdma/ib_fmr_pool.h
 delete mode 100644 net/rds/ib_fmr.c

-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ