Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-10-09 14:28 Jason Gunthorpe
  2019-10-09 19:30 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-10-09 14:28 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3492 bytes --]

Hi Linus,

First rc pull request

The usual collection of driver bug fixes, and a few regressions from the merge
window. Nothing particularly worrisome.

The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:

  Linux 5.4-rc1 (2019-09-30 10:35:40 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 0417791536ae1e28d7f0418f1d20048ec4d3c6cf:

  RDMA/mlx5: Add missing synchronize_srcu() for MW cases (2019-10-04 15:54:22 -0300)

----------------------------------------------------------------
RDMA subsystem updates for 5.4-rc

Various minor bug fixes posted in the last couple of weeks:

- Various missed memory frees and error unwind bugs

- Fix regressions in a few iwarp drivers from 5.4 patches

- A few regressions added in past kernels

- Squash a number of races in mlx5 ODP code

----------------------------------------------------------------
Adit Ranadive (1):
      RDMA/vmw_pvrdma: Free SRQ only once

Bart Van Assche (1):
      RDMA/iwcm: Fix a lock inversion issue

Christophe JAILLET (1):
      RDMA/core: Fix an error handling path in 'res_get_common_doit()'

Greg KH (1):
      RDMA/cxgb4: Do not dma memory off of the stack

Jack Morgenstein (1):
      RDMA/cm: Fix memory leak in cm_add/remove_one

Jason Gunthorpe (6):
      RDMA/mlx5: Do not allow rereg of a ODP MR
      RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR
      RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages()
      RDMA/mlx5: Order num_pending_prefetch properly with synchronize_srcu
      RDMA/mlx5: Put live in the correct place for ODP MRs
      RDMA/mlx5: Add missing synchronize_srcu() for MW cases

Krishnamraju Eraparaju (1):
      RDMA/siw: Fix serialization issue in write_space()

Leon Romanovsky (1):
      RDMA/nldev: Reshuffle the code to avoid need to rebind QP in error path

Michal Kalderon (1):
      RDMA/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port

Mohamad Heib (1):
      IB/core: Fix wrong iterating on ports

Navid Emamdoost (1):
      RDMA/hfi1: Prevent memory leak in sdma_init

Potnuri Bharat Teja (1):
      RDMA/iw_cxgb4: fix SRQ access from dump_qp()

Shiraz, Saleem (1):
      RDMA/i40iw: Associate ibdev to netdev before IB device registration

 drivers/infiniband/core/cm.c                  |  3 ++
 drivers/infiniband/core/cma.c                 |  3 +-
 drivers/infiniband/core/device.c              |  9 ++--
 drivers/infiniband/core/nldev.c               | 12 ++---
 drivers/infiniband/core/security.c            |  2 +-
 drivers/infiniband/core/umem_odp.c            |  6 ++-
 drivers/infiniband/hw/cxgb4/device.c          |  7 ++-
 drivers/infiniband/hw/cxgb4/mem.c             | 28 ++++++-----
 drivers/infiniband/hw/cxgb4/qp.c              | 10 +---
 drivers/infiniband/hw/hfi1/sdma.c             |  5 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c     |  4 ++
 drivers/infiniband/hw/mlx5/devx.c             | 58 +++++++----------------
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |  3 +-
 drivers/infiniband/hw/mlx5/mr.c               | 68 +++++++++++----------------
 drivers/infiniband/hw/mlx5/odp.c              | 58 ++++++++++++++++++-----
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c |  2 -
 drivers/infiniband/sw/siw/siw_qp.c            | 15 ++++--
 drivers/net/ethernet/mellanox/mlx5/core/mr.c  |  8 +---
 18 files changed, 154 insertions(+), 147 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-10-09 14:28 [GIT PULL] Please pull RDMA subsystem changes Jason Gunthorpe
@ 2019-10-09 19:30 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-10-09 19:30 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Wed, 9 Oct 2019 14:28:15 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8a8c600de5dc1d9a7f4b83269fddc80ebd3dd045

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-09-19 16:34 Jason Gunthorpe
@ 2019-09-21 17:40 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-09-21 17:40 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Thu, 19 Sep 2019 16:34:46 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/018c6837f3e63b45163d55a1668d9f8e6fdecf6e

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-09-19 16:34 Jason Gunthorpe
  2019-09-21 17:40 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-09-19 16:34 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 15062 bytes --]

Hi Linus,

These are the proposed RDMA patches for 5.4

This cycle has proved to be quiet with a focus on bug fix and cleanup style
patches, and less on major new functionality. I am aware of no conflicts.

The following changes since commit f74c2bb98776e2de508f4d607cd519873065118e:

  Linux 5.3-rc8 (2019-09-08 13:33:15 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 3eca7fc2d8d1275d9cf0c709f0937becbfcf6d96:

  RDMA: Fix double-free in srq creation error flow (2019-09-16 14:37:38 -0300)

----------------------------------------------------------------
RDMA subsystem updates for 5.4

This cycle mainly saw lots of bug fixes and clean up code across the core
code and several drivers, few new functional changes were made.

- Many cleanup and bug fixes for hns

- Various small bug fixes and cleanups in hfi1, mlx5, usnic, qed,
  bnxt_re, efa

- Share the query_port code between all the iWarp drivers

- General rework and cleanup of the ODP MR umem code to fit better with
  the mmu notifier get/put scheme

- Support rdma netlink in non init_net name spaces

- mlx5 support for XRC devx and DC ODP

----------------------------------------------------------------
Andrey Konovalov (1):
      RDMA/mlx4: Untag user pointers in mlx4_get_umem_mr

Arnd Bergmann (1):
      RDMA/usnic: Avoid overly large buffers on stack

Bernard Metzler (2):
      RDMA/siw: Fix page address mapping in TX path
      RDMA/siw: Relax from kmap_atomic() use in TX path

Chuck Lever (1):
      rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors

Chuhong Yuan (1):
      IB/usnic: Use dev_get_drvdata

Colin Ian King (3):
      RDMA/hns: Fix comparison of unsigned long variable 'end' with less than zero
      RDMA/core: fix spelling mistake "Nelink" -> "Netlink"
      RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp"

Dan Carpenter (1):
      RDMA/hns: Fix some white space check_mtu_validate()

Danit Goldberg (2):
      IB/mlx5: Use the original address for the page during free_pages
      IB/mlx5: Free mpi in mp_slave mode

Doug Ledford (3):
      Merge branch 'wip/dl-for-rc' into wip/dl-for-next
      Merge remote-tracking branch 'mlx5-next/mlx5-next' into wip/dl-for-next
      Merge remote-tracking branch 'mlx5-next/mlx5-next' into for-next

Gal Pressman (6):
      RDMA/efa: Expose device statistics
      RDMA/core: Introduce ratelimited ibdev printk functions
      RDMA/efa: Rate limit admin queue error prints
      RDMA/efa: Remove umem check on dereg MR flow
      RDMA/efa: Use existing FIELD_SIZEOF macro
      RDMA/efa: Fix incorrect error print

Guoqing Jiang (1):
      Documentation/infiniband: update name of some functions

Hariprasad Kelam (2):
      RDMA/qib: Unneeded variable ret
      RDMA/qedr: Remove Unneeded variable rc

Håkon Bugge (1):
      RDMA/cma: Fix false error message

Ira Weiny (1):
      IB/hfi1: Define variables as unsigned long to fix KASAN warning

Jack Morgenstein (1):
      RDMA: Fix double-free in srq creation error flow

Jason Gunthorpe (16):
      RDMA: Make most headers compile stand alone
      RDMA/odp: Use the common interval tree library instead of generic
      RDMA/odp: Iterate over the whole rbtree directly
      RDMA/odp: Make it clearer when a umem is an implicit ODP umem
      RMDA/odp: Consolidate umem_odp initialization
      RDMA/odp: Make the three ways to create a umem_odp clear
      RDMA/odp: Split creating a umem_odp from ib_umem_get
      RDMA/odp: Provide ib_umem_odp_release() to undo the allocs
      RDMA/odp: Check for overflow when computing the umem_odp end
      RDMA/odp: Use kvcalloc for the dma_list and page_list
      RDMA/mlx5: Use ib_umem_start instead of umem.address
      RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr
      Merge branch 'odp_fixes' into rdma.git for-next
      Merge branch 'mlx5-odp-dc' into rdma.git for-next
      RDMA/odp: Add missing cast for 32 bit
      Merge tag 'v5.3-rc8' into rdma.git for-next

Joe Perches (1):
      mlx5: Fix formats with line continuation whitespace

Kaike Wan (3):
      IB/hfi1: Do not update hcrc for a KDETH packet during fault injection
      IB/hfi1: Add traces for TID RDMA READ
      IB/{rdmavt, hfi1, qib}: Add a counter for credit waits

Kamal Heib (4):
      RDMA: Introduce ib_port_phys_state enum
      RDMA/cxgb3: Use ib_device_set_netdev()
      RDMA/core: Add common iWARP query port
      RDMA/{cxgb3, cxgb4, i40iw}: Remove common code

Lang Cheng (10):
      RDMA/hns: Clean up unnecessary initial assignment
      RDMA/hns: Update some comments style
      RDMA/hns: Handling the error return value of hem function
      RDMA/hns: Split bool statement and assign statement
      RDMA/hns: Refactor irq request code
      RDMA/hns: Remove unnecessary kzalloc
      RDMA/hns: Remove unuseful member
      RDMA/hns: Modify the data structure of hns_roce_av
      RDMA/hns: Fix cast from or to restricted __le32 for driver
      RDMA/hns: Add reset process for function-clear

Leon Romanovsky (6):
      RDMA/mlx4: Separate creation of RWQ and QP
      RDMA/mlx4: Annotate boolean arguments as bool and not int
      RDMA/mlx5: Remove DEBUG ODP code
      RDMA/hns: Remove not used UAR assignment
      RDMA/mlx5: Annotate lock dependency in bind/unbind slave port
      RDMA: Delete DEBUG code

Lijun Ou (13):
      RDMA/hns: Package the flow of creating cq
      RDMA/hns: Refactor the code of creating srq
      RDMA/hns: Refactor for hns_roce_v2_modify_qp function
      RDMA/hns: Use a separated function for setting extend sge paramters
      RDMA/hns: Package for hns_roce_rereg_user_mr function
      RDMA/hns: Refactor hem table mhop check and calculation
      RDMA/hns: Encapsulate some lines for setting sq size in user mode
      RDMA/hns: Optimize hns_roce_modify_qp function
      RDMA/hns: Use the new APIs for printing log
      RDMA/hns: Bugfix for creating qp attached to srq
      RDMA/hns: Remove the some magic number
      RDMA/hns: Fix wrong assignment of qp_access_flags
      RDMA/hns: Package operations of rq inline buffer into separate functions

Mark Zhang (1):
      RDMA/mlx5: RDMA_RX flow type support for user applications

Markus Elfring (1):
      RDMA/iwpm: Delete unnecessary checks before the macro call "dev_kfree_skb"

Max Gurtovoy (1):
      IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface

Michael Guralnik (2):
      IB/mlx5: Remove check of FW capabilities in ODP page fault handling
      IB/mlx5: Add page fault handler for DC initiator WQE

Michal Kalderon (1):
      qed*: Change dpi_addr to be denoted with __iomem

Mike Marciniszyn (1):
      IB/hfi1: Remove unused define

Moni Shoua (1):
      RDMA/core: Make invalidate_range a device operation

Navid Emamdoost (1):
      RDMA: Fix goto target to release the allocated memory

Parav Pandit (6):
      RDMA/core: Annotate destroy of mutex to ensure that it is released as unlocked
      IB/mlx5: Avoid unnecessary typecast
      RDMA/core: Support netlink commands in non init_net net namespaces
      IB/mlx5: Refactor code for counters allocation
      IB/mlx5: Support per device q counters in switchdev mode
      IB/bnxt_re: Do not notifify GID change event

Sergey Gorenko (1):
      IB/iser: Support up to 16MB data transfer in a single command

Stephen Boyd (1):
      infiniband: Remove dev_err() usage after platform_get_irq()

Weihang Li (3):
      RDMA/hns: Remove redundant print in hns_roce_v2_ceq_int()
      RDMA/hns: Disable alw_lcl_lpbk of SSU
      RDMA/hns: Logic optimization of wc_flags

Wenpeng Liang (2):
      RDMA/hns: Remove if-else judgment statements for creating srq
      RDMA/hns: Delete the not-used lines

Xi Wang (3):
      RDMA/hns: optimize the duplicated code for qpc setting flow
      RDMA/hns: Bugfix for slab-out-of-bounds when unloading hip08 driver
      RDMA/hns: bugfix for slab-out-of-bounds when loading hip08 driver

Yangyang Li (2):
      RDMA/hns: Refactor hns_roce_v2_set_hem for hip08
      RDMA/hns: Modify pi vlaue when cq overflows

Yishai Hadas (2):
      IB/mlx5: Add legacy events to DEVX list
      IB/mlx5: Expose XRQ legacy commands over the DEVX interface

Yixian Liu (4):
      RDMA/hns: Refactor eq table init for hip08
      RDMA/hns: Update the prompt message for creating and destroy qp
      RDMA/hns: Remove unnessary init for cmq reg
      RDMA/hns: Optimize cmd init and mode selection for hip08

YueHaibing (3):
      RDMA/hns: remove set but not used variable 'irq_num'
      RDMA/hns: remove obsolete Kconfig comment
      RDMA/hns: Use devm_platform_ioremap_resource() to simplify code

chenglang (1):
      RDMA/hns: Optimize hns_roce_mhop_alloc function.

 Documentation/infiniband/core_locking.rst    |    8 +-
 drivers/infiniband/Kconfig                   |    1 +
 drivers/infiniband/core/addr.c               |    2 +-
 drivers/infiniband/core/cache.c              |    1 +
 drivers/infiniband/core/cma.c                |    2 +-
 drivers/infiniband/core/cma_configfs.c       |    8 +-
 drivers/infiniband/core/core_priv.h          |   24 +-
 drivers/infiniband/core/counters.c           |    8 +-
 drivers/infiniband/core/cq.c                 |   28 +
 drivers/infiniband/core/device.c             |  129 +++-
 drivers/infiniband/core/fmr_pool.c           |   13 -
 drivers/infiniband/core/iwpm_msg.c           |   17 +-
 drivers/infiniband/core/iwpm_util.c          |   15 +-
 drivers/infiniband/core/netlink.c            |   63 +-
 drivers/infiniband/core/nldev.c              |   20 +-
 drivers/infiniband/core/sa_query.c           |    2 +-
 drivers/infiniband/core/sysfs.c              |   30 +-
 drivers/infiniband/core/umem.c               |   50 +-
 drivers/infiniband/core/umem_odp.c           |  437 ++++++-----
 drivers/infiniband/core/user_mad.c           |    2 +-
 drivers/infiniband/core/uverbs_cmd.c         |    5 +-
 drivers/infiniband/core/uverbs_main.c        |    4 +
 drivers/infiniband/core/verbs.c              |    1 +
 drivers/infiniband/hw/bnxt_re/hw_counters.c  |    2 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c     |    6 +-
 drivers/infiniband/hw/bnxt_re/main.c         |    1 -
 drivers/infiniband/hw/cxgb3/iwch_provider.c  |   45 +-
 drivers/infiniband/hw/cxgb4/provider.c       |   24 -
 drivers/infiniband/hw/efa/efa.h              |    3 +
 drivers/infiniband/hw/efa/efa_com.c          |   70 +-
 drivers/infiniband/hw/efa/efa_com_cmd.c      |  165 ++--
 drivers/infiniband/hw/efa/efa_com_cmd.h      |   23 +
 drivers/infiniband/hw/efa/efa_main.c         |    2 +
 drivers/infiniband/hw/efa/efa_verbs.c        |   91 ++-
 drivers/infiniband/hw/hfi1/chip.c            |    2 +
 drivers/infiniband/hw/hfi1/chip.h            |    1 +
 drivers/infiniband/hw/hfi1/mad.c             |   45 +-
 drivers/infiniband/hw/hfi1/rc.c              |   15 +-
 drivers/infiniband/hw/hfi1/tid_rdma.c        |    8 +
 drivers/infiniband/hw/hfi1/trace_tid.h       |   38 +
 drivers/infiniband/hw/hfi1/user_sdma.h       |    6 -
 drivers/infiniband/hw/hfi1/verbs.c           |   17 +-
 drivers/infiniband/hw/hns/Kconfig            |    8 -
 drivers/infiniband/hw/hns/hns_roce_ah.c      |   23 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.c     |   11 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c      |  186 +++--
 drivers/infiniband/hw/hns/hns_roce_device.h  |   95 ++-
 drivers/infiniband/hw/hns/hns_roce_hem.c     |  252 +++---
 drivers/infiniband/hw/hns/hns_roce_hem.h     |    6 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c   |   69 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c   | 1065 +++++++++++++++-----------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h   |    7 +-
 drivers/infiniband/hw/hns/hns_roce_main.c    |   11 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c      |  434 ++++++-----
 drivers/infiniband/hw/hns/hns_roce_qp.c      |  359 +++++----
 drivers/infiniband/hw/hns/hns_roce_srq.c     |  296 +++----
 drivers/infiniband/hw/i40iw/i40iw_verbs.c    |   11 -
 drivers/infiniband/hw/mlx4/main.c            |    3 +-
 drivers/infiniband/hw/mlx4/mr.c              |    7 +-
 drivers/infiniband/hw/mlx4/qp.c              |  242 ++++--
 drivers/infiniband/hw/mlx5/devx.c            |   26 +
 drivers/infiniband/hw/mlx5/flow.c            |   13 +-
 drivers/infiniband/hw/mlx5/main.c            |  131 ++--
 drivers/infiniband/hw/mlx5/mem.c             |   13 -
 drivers/infiniband/hw/mlx5/mlx5_ib.h         |    2 +
 drivers/infiniband/hw/mlx5/mr.c              |   38 +-
 drivers/infiniband/hw/mlx5/odp.c             |  172 ++---
 drivers/infiniband/hw/mlx5/qp.c              |   25 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |    4 +-
 drivers/infiniband/hw/qedr/main.c            |    2 +-
 drivers/infiniband/hw/qedr/qedr.h            |    2 +-
 drivers/infiniband/hw/qedr/verbs.c           |    7 +-
 drivers/infiniband/hw/qib/qib_file_ops.c     |    3 +-
 drivers/infiniband/hw/qib/qib_rc.c           |   10 +-
 drivers/infiniband/hw/qib/qib_sysfs.c        |    2 +
 drivers/infiniband/hw/usnic/usnic_ib_main.c  |   10 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |    9 +-
 drivers/infiniband/sw/rxe/rxe.h              |    4 -
 drivers/infiniband/sw/rxe/rxe_param.h        |    2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c        |    6 +-
 drivers/infiniband/sw/siw/siw_qp_tx.c        |   23 +-
 drivers/infiniband/sw/siw/siw_verbs.c        |    3 +-
 drivers/infiniband/ulp/iser/iscsi_iser.h     |    7 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c        |    4 +-
 drivers/net/ethernet/mellanox/mlx5/core/rl.c |    6 +-
 drivers/net/ethernet/qlogic/qed/qed_rdma.c   |    5 +-
 fs/cifs/smbdirect.c                          |   10 +-
 include/Kbuild                               |    6 -
 include/linux/mlx5/device.h                  |    9 +
 include/linux/qed/qed_rdma_if.h              |    2 +-
 include/rdma/ib.h                            |    2 +
 include/rdma/ib_umem_odp.h                   |   48 +-
 include/rdma/ib_verbs.h                      |   78 +-
 include/rdma/iw_portmap.h                    |    3 +
 include/rdma/opa_port_info.h                 |    2 +
 include/rdma/rdma_netlink.h                  |   10 +-
 include/rdma/rdma_vt.h                       |    1 +
 include/rdma/rdmavt_cq.h                     |    1 +
 include/rdma/rdmavt_qp.h                     |   35 +
 include/rdma/signature.h                     |    2 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h    |    1 +
 net/9p/trans_rdma.c                          |    6 +-
 net/sunrpc/xprtrdma/svc_rdma_transport.c     |    8 +-
 net/sunrpc/xprtrdma/verbs.c                  |   13 +-
 104 files changed, 3072 insertions(+), 2213 deletions(-)
(diffstat from tag for-linus-merged)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-07-30 12:15 Jason Gunthorpe
@ 2019-07-30 20:40 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-07-30 20:40 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Tue, 30 Jul 2019 12:15:01 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/32a024b9a9f3b40f84bc55a6dd35eaa770ea26a4

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-07-30 12:15 Jason Gunthorpe
  2019-07-30 20:40 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-07-30 12:15 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

Hi Linus,

First rc pull request

The usual collection of driver bug fixes, and fewer siw static checker
warnings than I feared.

Thanks,
Jason

The following changes since commit 5f9e832c137075045d15cd6899ab0505cfb2ca4b:

  Linus 5.3-rc1 (2019-07-21 14:05:38 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to b7165bd0d6cbb93732559be6ea8774653b204480:

  IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification (2019-07-25 11:45:48 -0300)

----------------------------------------------------------------
5.3 rc RDMA pull request

A few regression and bug fixes for the patches merged in the last cycle:

- hns fixes a subtle crash from the ib core SGL rework

- hfi1 fixes various error handling, oops and protocol errors

- bnxt_re fixes a regression where nvmeof doesn't work on some
  configurations

- mlx5 fixes a serious 'use after free' bug in how MR caching is handled

- Some edge case crashers in the new statistic core code

- More siw static checker fixups

----------------------------------------------------------------
Chuhong Yuan (1):
      IB/mlx5: Replace kfree with kvfree

John Fleck (1):
      IB/hfi1: Check for error on call to alloc_rsm_map_table

Kaike Wan (3):
      IB/hfi1: Unreserve a flushed OPFN request
      IB/hfi1: Field not zero-ed when allocating TID flow memory
      IB/hfi1: Drop all TID RDMA READ RESP packets after r_next_psn

Mao Wenan (1):
      RDMA/siw: Remove set but not used variables 'rv'

Moni Shoua (1):
      IB/mlx5: Prevent concurrent MR updates during invalidation

Parav Pandit (2):
      IB/core: Fix querying total rdma stats
      IB/counters: Always initialize the port counter object

Selvin Xavier (1):
      RDMA/bnxt_re: Honor vlan_id in GID entry comparison

Wei Yongjun (1):
      RDMA/siw: Fix error return code in siw_init_module()

Xi Wang (1):
      RDMA/hns: Fix sg offset non-zero issue

Yishai Hadas (5):
      IB/mlx5: Fix unreg_umr to ignore the mkey state
      IB/mlx5: Use direct mkey destroy command upon UMR unreg failure
      IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache
      IB/mlx5: Fix clean_mr() to work in the expected order
      IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification

 drivers/infiniband/core/counters.c        | 11 +++++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c  |  7 +++--
 drivers/infiniband/hw/bnxt_re/qplib_res.c | 13 +++++++---
 drivers/infiniband/hw/bnxt_re/qplib_res.h |  2 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c  | 14 ++++++----
 drivers/infiniband/hw/bnxt_re/qplib_sp.h  |  7 ++++-
 drivers/infiniband/hw/hfi1/chip.c         | 11 ++++++--
 drivers/infiniband/hw/hfi1/rc.c           |  2 --
 drivers/infiniband/hw/hfi1/tid_rdma.c     | 43 ++-----------------------------
 drivers/infiniband/hw/hns/hns_roce_db.c   | 15 ++++++-----
 drivers/infiniband/hw/mlx5/mlx5_ib.h      |  1 +
 drivers/infiniband/hw/mlx5/mr.c           | 23 ++++++++++-------
 drivers/infiniband/hw/mlx5/odp.c          |  7 ++---
 drivers/infiniband/hw/mlx5/qp.c           | 13 ++++++----
 drivers/infiniband/sw/siw/siw_cm.c        |  3 +--
 drivers/infiniband/sw/siw/siw_main.c      |  1 +
 include/rdma/rdmavt_qp.h                  |  9 +++----
 17 files changed, 89 insertions(+), 93 deletions(-)

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-07-15 15:26 Jason Gunthorpe
@ 2019-07-16  4:35 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-07-16  4:35 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Mon, 15 Jul 2019 15:26:22 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2a3c389a0fde49b241430df806a34276568cfb29

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-07-15 15:26 Jason Gunthorpe
  2019-07-16  4:35 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-07-15 15:26 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 29247 bytes --]

Hi Linus,

These are the proposed RDMA patches for 5.3

This has been a more exciting merge window than usual, the late merge of the
new siw driver, combined with the absence of the 0-Day testing service and the
July long weekend created a stream of build fixes for siw this week. I'm
hoping we got them all, but if there are more I will send them for rc1.

There is one non-textual conflict with an API change in netdev that will
require this patch in the merge commit to resolve:

diff --git a/drivers/infiniband/sw/siw/siw_cm.c b/drivers/infiniband/sw/siw/siw_cm.c
index 43f7f12e5f7f81..a7cde98e73e8c8 100644
--- a/drivers/infiniband/sw/siw/siw_cm.c
+++ b/drivers/infiniband/sw/siw/siw_cm.c
@@ -1963,6 +1963,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
 	if (id->local_addr.ss_family == AF_INET) {
 		struct in_device *in_dev = in_dev_get(dev);
 		struct sockaddr_in s_laddr, *s_raddr;
+		const struct in_ifaddr *ifa;

 		memcpy(&s_laddr, &id->local_addr, sizeof(s_laddr));
 		s_raddr = (struct sockaddr_in *)&id->remote_addr;
@@ -1973,8 +1974,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
 			&s_raddr->sin_addr, ntohs(s_raddr->sin_port));

 		rtnl_lock();
-		for_ifa(in_dev)
-		{
+		in_dev_for_each_ifa_rtnl(ifa, in_dev) {
 			if (ipv4_is_zeronet(s_laddr.sin_addr.s_addr) ||
 			    s_laddr.sin_addr.s_addr == ifa->ifa_address) {
 				s_laddr.sin_addr.s_addr = ifa->ifa_address;
@@ -1986,7 +1986,6 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
 					listeners++;
 			}
 		}
-		endfor_ifa(in_dev);
 		rtnl_unlock();
 		in_dev_put(in_dev);
 	} else if (id->local_addr.ss_family == AF_INET6) {

The tag for-linus-merged with my merge resolution to your tree is also available to pull.

The following changes since commit f8efee08dd9d41ab71010e9b16c9ead51753b7d6:

  net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap (2019-07-04 21:36:33 +0300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 0b043644c0ca601cb19943a81aa1f1455dbe9461:

  RMDA/siw: Require a 64 bit arch (2019-07-12 12:12:06 -0300)

----------------------------------------------------------------
5.3 Merge window RDMA pull request

A smaller cycle this time. Notably we see another new driver, 'Soft
iWarp', and the deletion of an ancient unused driver for nes.

- Revise and simplify the signature offload RDMA MR APIs

- More progress on hoisting object allocation boiler plate code out of the
  drivers

- Driver bug fixes and revisions for hns, hfi1, efa, cxgb4, qib, i40iw

- Tree wide cleanups: struct_size, put_user_page, xarray, rst doc conversion

- Removal of obsolete ib_ucm chardev and nes driver

- netlink based discovery of chardevs and autoloading of the modules
  providing them

- Move more of the rdamvt/hfi1 uapi to include/uapi/rdma

- New driver 'siw' for software based iWarp running on top of netdev,
  much like rxe's software RoCE.

- mlx5 feature to report events in their raw devx format to userspace

- Expose per-object counters through rdma tool

- Adaptive interrupt moderation for RDMA (DIM), sharing the DIM core
  from netdev

----------------------------------------------------------------
Bart Van Assche (1):
      RDMA/srp: Accept again source addresses that do not have a port number

Bernard Metzler (12):
      rdma/siw: iWarp wire packet format
      rdma/siw: main include file
      rdma/siw: network and RDMA core interface
      rdma/siw: connection management
      rdma/siw: application interface
      rdma/siw: application buffer management
      rdma/siw: queue pair methods
      rdma/siw: transmit path
      rdma/siw: receive path
      rdma/siw: completion queue methods
      rdma/siw: addition to kernel build environment
      RDMA/siw: Remove unnecessary kthread create/destroy printouts

Colin Ian King (4):
      RDMA/hns: fix inverted logic of readl read and shift
      RDMA/hns: fix potential integer overflow on left shift
      RDMA/hns: fix spelling mistake "attatch" -> "attach"
      RDMA/uverbs: remove redundant assignment to variable ret

Dag Moxnes (1):
      RDMA/core: Fix race when resolving IP address

Dan Carpenter (2):
      RDMA/uverbs: check for allocation failure in uapi_add_elm()
      RDMA/hns: Fix an error code in hns_roce_set_user_sq_size()

Daniel Kranzdorf (1):
      RDMA/efa: Entropy in admin commands id

Danit Goldberg (1):
      IB/mlx5: Report correctly tag matching rendezvous capability

Dennis Dalessandro (2):
      IB/hfi1: Remove extra brackets from an if
      IB/hfi1: No need to use try_module_get for debugfs

Doug Ledford (3):
      Merge remote-tracking branch 'mlx5-next/mlx5-next' into HEAD
      RDMA/netlink: Resort policy array
      RDMA/netlink: Audit policy settings for netlink attributes

Firas Jahjah (1):
      RDMA/efa: Print address on AH creation failure

Fuqian Huang (3):
      IB: Remove unneeded memset
      IB/ipoib: Remove memset after vzalloc in ipoib_cm.c
      IB/i40iw: Use kmemdup rather than open coding

Gal Pressman (6):
      RDMA/efa: Use kvzalloc instead of kzalloc with fallback
      RDMA/efa: Remove unneeded admin commands abort flow
      RDMA/efa: Use rdma block iterator in chunk list creation
      RDMA/efa: Remove unused includes
      RDMA/efa: Use API to get contiguous memory blocks aligned to device supported page size
      RDMA/efa: Be consistent with success flow return value

Geert Uytterhoeven (2):
      IB/hfi1: Spelling s/statisfied/satisfied/
      rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS

Gustavo A. R. Silva (5):
      IB/rdmavt: Use struct_size() helper
      IB/qib: Use struct_size() helper
      IB/hfi1: Use struct_size() helper
      RDMA/ucma: Use struct_size() helper
      RDMA/siw: Mark expected switch fall-throughs

Israel Rukshin (15):
      IB/iser: Refactor iscsi_iser_check_protection function
      IB/iser: Remove unused sig_attrs argument
      IB/isert: Remove unused sig_attrs argument
      RDMA/rw: Fix doc typo
      RDMA/rw: Print the correct number of sig MRs
      RDMA/core: Fix doc typo
      RDMA/core: Introduce IB_MR_TYPE_INTEGRITY and ib_alloc_mr_integrity API
      IB/iser: Use IB_WR_REG_MR_INTEGRITY for PI handover
      IB/iser: Unwind WR union at iser_tx_desc
      RDMA/core: Add an integrity MR pool support
      RDMA/core: Rename signature qp create flag and signature device capability
      RDMA/rw: Introduce rdma_rw_inv_key helper
      RDMA/rw: Use IB_WR_REG_MR_INTEGRITY for PI handover
      RDMA/mlx5: Remove unused IB_WR_REG_SIG_MR code
      RDMA/mlx5: Improve PI handover performance

Jason Gunthorpe (23):
      RDMA/umem: Move page_shift from ib_umem to ib_odp_umem
      rdma: Delete the ib_ucm module
      RDMA: Move driver_id into struct ib_device_ops
      RDMA: Move uverbs_abi_ver into struct ib_device_ops
      RDMA: Move owner into struct ib_device_ops
      rdma: Remove nes
      RDMA: Move rdma_node_type to uapi/
      RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload
      RDMA: Report available cdevs through RDMA_NLDEV_CMD_GET_CHARDEV
      RDMA/odp: Fix missed unlock in non-blocking invalidate_start
      RDMA/uverbs: Use offsetofend instead of opencoding
      RDMA/odp: Do not leak dma maps when working with huge pages
      Merge tag 'v5.2-rc6' into rdma.git for-next
      Merge branch 'siw' into rdma.git for-next
      Merge mlx5-next into rdma for-next
      Merge mlx5-next into rdma for-next
      RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU
      RDMA/rvt: Do not use a kernel header in the ABI
      Merge branch 'vhca-tunnel' into rdma.git for-next
      Merge tag 'blk-dim-v2' into rdma.git for-next
      RDMA/core: Make rdma_counter.h compile stand alone
      RDMA/siw: Add missing rtnl_lock around access to ifa
      RMDA/siw: Require a 64 bit arch

John Hubbard (1):
      RDMA: Convert put_page() to put_user_page*()

Kamal Heib (3):
      RDMA/core: Return void from ib_device_check_mandatory()
      RDMA/ipoib: implement ethtool .get_link() callback
      RDMA/ipoib: Remove check for ETH_SS_TEST

Kamenee Arumugam (4):
      IB/hfi1: Move rvt_cq_wc struct into uapi directory
      IB/hfi1: Move receive work queue struct into uapi directory
      IB/rdmavt: Fracture single lock used for posting and processing RWQEs
      IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full

Konstantin Taranov (1):
      RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM

Lang Cheng (6):
      RDMA/hns: Move spin_lock_irqsave to the correct place
      RDMA/hns: Remove jiffies operation in disable interrupt context
      RDMA/hns: reset function when removing module
      RDMA/hns: Set reset flag when hw resetting
      RDMA/hns: Use %pK format pointer print
      RDMA/hns: Clean up unnecessary variable initialization

Leon Romanovsky (20):
      rds: Don't check return value from destroy CQ
      RDMA/ipoib: Remove check of destroy CQ
      RDMA/core: Make ib_destroy_cq() void
      RDMA/nes: Remove useless NULL checks
      RDMA/i40iw: Remove useless NULL checks
      RDMA/nes: Remove second wait queue initialization call
      RDMA/efa: Remove check that prevents destroy of resources in error flows
      RDMA/cxgb3: Use sizeof() notation instead of plain sizeof
      RDMA/cxgb3: Don't expose DMA addresses
      RDMA/cxgb3: Delete and properly mark unimplemented resize CQ function
      RDMA/cxgb4: Use sizeof() notation
      RDMA/cxgb4: Don't expose DMA addresses
      RDMA/nes: Avoid memory allocation during CQ destroy
      RDMA: Clean destroy CQ in drivers do not return errors
      RDMA: Convert CQ allocations to be under core responsibility
      RDMA: Convert destroy_wq to be void
      RDMA: Check umem pointer validity prior to release
      RDMa/hns: Don't stuck in endless timeout loop
      RDMA/mlx5: Use proper allocation API to get zeroed memory
      RDMA/mlx5: Set RDMA DIM to be enabled by default

Lijun Ou (11):
      RDMA/hns: Update CQE specifications
      RDMA/hns: Replace magic numbers with #defines
      RDMA/hns: Bugfix for posting multiple srq work request
      RDMA/hns: Bugfix for filling the sge of srq
      RDMA/hns: Add mtr support for mixed multihop addressing
      RDMA/hns: Add a group interfaces for optimizing buffers getting flow
      RDMA/hns: Fix bug when wqe num is larger than 16K
      RDMA/hns: Cleanup unnecessary exported symbols
      RDMA/hns: Fix building modular hns
      RDMA/hns: Bugfix for cleaning mtr
      RDMA/hns: Bugfix for calculating qp buffer size

Liu, Changcheng (1):
      RDMA/i40iw: Set queue pair state when being queried

Maksym Planeta (1):
      ibverbs/rxe: Remove variable self-initialization

Maor Gottlieb (2):
      RDMA/mlx5: Consider eswitch encap mode
      RDMA/mlx5: Enable decap and packet reformat on FDB

Mark Zhang (16):
      RDMA/restrack: Introduce statistic counter
      RDMA/restrack: Add an API to attach a task to a resource
      RDMA/restrack: Make is_visible_in_pid_ns() as an API
      RDMA/counter: Add set/clear per-port auto mode support
      RDMA/counter: Add "auto" configuration mode support
      IB/mlx5: Support set qp counter
      IB/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters()
      IB/mlx5: Support statistic q counter configuration
      RDMA/nldev: Allow counter auto mode configration through RDMA netlink
      RDMA/netlink: Implement counter dumpit calback
      IB/mlx5: Add counter_alloc_stats() and counter_update_stats() support
      RDMA/core: Get sum value of all counters when perform a sysfs stat read
      RDMA/counter: Allow manual mode configuration support
      RDMA/nldev: Allow counter manual mode configration through RDMA netlink
      RDMA/nldev: Allow get counter mode through RDMA netlink
      RDMA/nldev: Allow get default counter statistics through RDMA netlink

Matthew Wilcox (2):
      ucma: Convert multicast_idr to XArray
      ucma: Convert ctx_idr to XArray

Mauro Carvalho Chehab (2):
      docs: infiniband: convert docs to ReST and rename to *.rst
      docs: infiniband: add it to the driver-api bookset

Max Gurtovoy (15):
      RDMA/rw: Add info regarding SG count failure
      RDMA/core: Introduce new header file for signature operations
      RDMA/core: Save the MR type in the ib_mr structure
      RDMA/core: Introduce ib_map_mr_sg_pi to map data/protection sgl's
      RDMA/core: Add signature attrs element for ib_mr structure
      RDMA/mlx5: Implement mlx5_ib_map_mr_sg_pi and mlx5_ib_alloc_mr_integrity
      RDMA/mlx5: Add attr for max number page list length for PI operation
      RDMA/mlx5: Pass UMR segment flags instead of boolean
      RDMA/mlx5: Update set_sig_data_segment attribute for new signature API
      RDMA/mlx5: Introduce and implement new IB_WR_REG_MR_INTEGRITY work request
      RDMA/core: Validate integrity handover device cap
      RDMA/mlx5: Use PA mapping for PI handover
      RDMA/mlx5: Refactor MR descriptors allocation
      net/mlx5: Introduce VHCA tunnel device capability
      IB/mlx5: Implement VHCA tunnel mechanism in DEVX

Michael J. Ruhl (4):
      IB/rdmavt: Set QP allowed opcodes after QP allocation
      IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs
      IB/{rdmavt, hfi1, qib}: Add helpers to hide SWQE WR details
      IB/hfi1: Reduce excessive aspm inlines

Mike Marciniszyn (5):
      IB/rdmavt: Add new completion inline
      IB/{rdmavt, qib, hfi1}: Convert to new completion API
      IB/hfi1: Add missing INVALIDATE opcodes for trace
      IB/rdmavt: Enhance trace information for FRWR debug
      IB/rdmavt: Add trace for map_mr_sg

Nathan Chancellor (2):
      IB/rdmavt: Fix variable shadowing issue in rvt_create_cq
      rdma/siw: Use proper enumerated type in map_cqe_status

Nirranjan Kirubaharan (1):
      iw_cxgb4: Fix qpid leak

Parav Pandit (2):
      IB/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE
      IB/core: Work on the caller socket net namespace in nldev_newlink()

Qian Cai (1):
      RDMA/core: Fix -Wunused-const-variable warnings

Sagiv Ozeri (1):
      RDMA/qedr: Fix incorrect device rate.

Valentine Fatiev (1):
      IB/ipoib: Add child to parent list only if device initialized

Xi Wang (1):
      RDMA/hns: Fixs hw access invalid dma memory error

Yamin Friedman (3):
      linux/dim: Implement RDMA adaptive moderation (DIM)
      RDMA/core: Provide RDMA DIM support for ULPs
      RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink

Yangyang Li (1):
      RDMA/hns: Modify ba page size for cqe

Yishai Hadas (6):
      IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD
      IB/mlx5: Register DEVX with mlx5_core to get async events
      IB/mlx5: Enable subscription for device events over DEVX
      IB/mlx5: Implement DEVX dispatching event
      IB/mlx5: Add DEVX support for CQ events
      IB/mlx5: DEVX cleanup mdev

Yixian Liu (1):
      RDMA/hns: Remove unnecessary print message in aeq

YueHaibing (3):
      IB/hfi1: Remove set but not used variables 'offset' and 'fspsn'
      RDMA/hns: Remove set but not used variable 'fclr_write_fail_flag'
      rdma/siw: Remove set but not used variable 's'

Yuval Shaia (1):
      IB/mlx4: Delete unused func arg

chenglang (1):
      RDMA/hns: Fixup qp release bug

 Documentation/ABI/stable/sysfs-class-infiniband    |   17 -
 Documentation/index.rst                            |    1 +
 .../{core_locking.txt => core_locking.rst}         |   64 +-
 Documentation/infiniband/index.rst                 |   23 +
 Documentation/infiniband/{ipoib.txt => ipoib.rst}  |   24 +-
 .../infiniband/{opa_vnic.txt => opa_vnic.rst}      |  110 +-
 Documentation/infiniband/{sysfs.txt => sysfs.rst}  |    4 +-
 .../{tag_matching.txt => tag_matching.rst}         |    5 +
 .../infiniband/{user_mad.txt => user_mad.rst}      |   33 +-
 .../infiniband/{user_verbs.txt => user_verbs.rst}  |   12 +-
 MAINTAINERS                                        |   15 +-
 drivers/infiniband/Kconfig                         |   14 +-
 drivers/infiniband/core/Makefile                   |    5 +-
 drivers/infiniband/core/addr.c                     |    2 +-
 drivers/infiniband/core/core_priv.h                |   10 +
 drivers/infiniband/core/counters.c                 |  634 ++++
 drivers/infiniband/core/cq.c                       |   95 +-
 drivers/infiniband/core/device.c                   |  150 +-
 drivers/infiniband/core/mr_pool.c                  |    8 +-
 drivers/infiniband/core/nldev.c                    |  800 +++-
 drivers/infiniband/core/restrack.c                 |   49 +-
 drivers/infiniband/core/restrack.h                 |    3 +
 drivers/infiniband/core/rw.c                       |  201 +-
 drivers/infiniband/core/sysfs.c                    |   16 +-
 drivers/infiniband/core/ucm.c                      | 1350 -------
 drivers/infiniband/core/ucma.c                     |  114 +-
 drivers/infiniband/core/umem.c                     |   13 +-
 drivers/infiniband/core/umem_odp.c                 |  106 +-
 drivers/infiniband/core/user_mad.c                 |   53 +-
 drivers/infiniband/core/uverbs_cmd.c               |   28 +-
 drivers/infiniband/core/uverbs_main.c              |   40 +-
 drivers/infiniband/core/uverbs_std_types_cq.c      |   19 +-
 drivers/infiniband/core/uverbs_std_types_mr.c      |    1 +
 drivers/infiniband/core/uverbs_uapi.c              |    4 +-
 drivers/infiniband/core/verbs.c                    |  165 +-
 drivers/infiniband/hw/Makefile                     |    1 -
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |   66 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |    9 +-
 drivers/infiniband/hw/bnxt_re/main.c               |    8 +-
 drivers/infiniband/hw/cxgb3/cxio_hal.c             |   33 +-
 drivers/infiniband/hw/cxgb3/cxio_hal.h             |    3 +-
 drivers/infiniband/hw/cxgb3/iwch_cm.c              |    2 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |  160 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   21 +-
 drivers/infiniband/hw/cxgb4/cq.c                   |   55 +-
 drivers/infiniband/hw/cxgb4/device.c               |    9 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   11 +-
 drivers/infiniband/hw/cxgb4/mem.c                  |    8 +-
 drivers/infiniband/hw/cxgb4/provider.c             |    9 +-
 drivers/infiniband/hw/cxgb4/qp.c                   |   95 +-
 drivers/infiniband/hw/cxgb4/resource.c             |   16 +-
 drivers/infiniband/hw/efa/efa.h                    |    9 +-
 drivers/infiniband/hw/efa/efa_com.c                |  118 +-
 drivers/infiniband/hw/efa/efa_com.h                |    1 -
 drivers/infiniband/hw/efa/efa_com_cmd.c            |    8 +-
 drivers/infiniband/hw/efa/efa_main.c               |   10 +-
 drivers/infiniband/hw/efa/efa_verbs.c              |  248 +-
 drivers/infiniband/hw/hfi1/Makefile                |    1 +
 drivers/infiniband/hw/hfi1/aspm.c                  |  270 ++
 drivers/infiniband/hw/hfi1/aspm.h                  |  262 +-
 drivers/infiniband/hw/hfi1/debugfs.c               |    5 +-
 drivers/infiniband/hw/hfi1/mad.c                   |    9 +-
 drivers/infiniband/hw/hfi1/pcie.c                  |    6 +-
 drivers/infiniband/hw/hfi1/pio.c                   |    3 +-
 drivers/infiniband/hw/hfi1/qp.c                    |    8 +-
 drivers/infiniband/hw/hfi1/rc.c                    |   29 +-
 drivers/infiniband/hw/hfi1/tid_rdma.c              |    7 +-
 drivers/infiniband/hw/hfi1/trace_ibhdrs.h          |    2 +
 drivers/infiniband/hw/hfi1/uc.c                    |    3 +-
 drivers/infiniband/hw/hfi1/ud.c                    |   36 +-
 drivers/infiniband/hw/hfi1/user_pages.c            |   11 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |    6 +-
 drivers/infiniband/hw/hns/Kconfig                  |   15 +-
 drivers/infiniband/hw/hns/Makefile                 |   15 +-
 drivers/infiniband/hw/hns/hns_roce_alloc.c         |  101 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.c           |    6 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   81 +-
 drivers/infiniband/hw/hns/hns_roce_db.c            |   12 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |  108 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c           |  504 ++-
 drivers/infiniband/hw/hns/hns_roce_hem.h           |   16 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   79 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  280 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   23 +-
 drivers/infiniband/hw/hns/hns_roce_main.c          |   31 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |  166 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c            |    4 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |  220 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   40 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |    4 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |   56 +-
 drivers/infiniband/hw/mlx4/cq.c                    |   43 +-
 drivers/infiniband/hw/mlx4/main.c                  |   21 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |    9 +-
 drivers/infiniband/hw/mlx4/mr.c                    |   16 +-
 drivers/infiniband/hw/mlx4/qp.c                    |   11 +-
 drivers/infiniband/hw/mlx4/srq.c                   |    9 +-
 drivers/infiniband/hw/mlx5/cq.c                    |   56 +-
 drivers/infiniband/hw/mlx5/devx.c                  | 1053 +++++-
 drivers/infiniband/hw/mlx5/mad.c                   |   60 +-
 drivers/infiniband/hw/mlx5/main.c                  |  157 +-
 drivers/infiniband/hw/mlx5/mem.c                   |   20 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   47 +-
 drivers/infiniband/hw/mlx5/mr.c                    |  554 ++-
 drivers/infiniband/hw/mlx5/odp.c                   |   23 +-
 drivers/infiniband/hw/mlx5/qp.c                    |  312 +-
 drivers/infiniband/hw/mthca/mthca_allocator.c      |    2 -
 drivers/infiniband/hw/mthca/mthca_memfree.c        |    6 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |   52 +-
 drivers/infiniband/hw/nes/Kconfig                  |   16 -
 drivers/infiniband/hw/nes/Makefile                 |    4 -
 drivers/infiniband/hw/nes/nes.c                    | 1211 ------
 drivers/infiniband/hw/nes/nes.h                    |  574 ---
 drivers/infiniband/hw/nes/nes_cm.c                 | 3992 --------------------
 drivers/infiniband/hw/nes/nes_cm.h                 |  470 ---
 drivers/infiniband/hw/nes/nes_context.h            |  193 -
 drivers/infiniband/hw/nes/nes_hw.c                 | 3887 -------------------
 drivers/infiniband/hw/nes/nes_hw.h                 | 1380 -------
 drivers/infiniband/hw/nes/nes_mgt.c                | 1155 ------
 drivers/infiniband/hw/nes/nes_mgt.h                |   97 -
 drivers/infiniband/hw/nes/nes_nic.c                | 1870 ---------
 drivers/infiniband/hw/nes/nes_utils.c              |  916 -----
 drivers/infiniband/hw/nes/nes_verbs.c              | 3759 ------------------
 drivers/infiniband/hw/nes/nes_verbs.h              |  198 -
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   11 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |    8 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   38 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |    7 +-
 drivers/infiniband/hw/qedr/main.c                  |    8 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   82 +-
 drivers/infiniband/hw/qedr/verbs.h                 |    7 +-
 drivers/infiniband/hw/qib/qib_qp.c                 |    4 +-
 drivers/infiniband/hw/qib/qib_rc.c                 |   29 +-
 drivers/infiniband/hw/qib/qib_uc.c                 |    3 +-
 drivers/infiniband/hw/qib/qib_ud.c                 |   28 +-
 drivers/infiniband/hw/qib/qib_user_pages.c         |   11 +-
 drivers/infiniband/hw/qib/qib_user_sdma.c          |   11 +-
 drivers/infiniband/hw/qib/qib_verbs.c              |    6 +-
 drivers/infiniband/hw/usnic/usnic_ib.h             |    4 +
 drivers/infiniband/hw/usnic/usnic_ib_main.c        |    8 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   22 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |    7 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |    7 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h          |    2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   46 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |    8 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |   16 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |    7 +-
 drivers/infiniband/sw/Makefile                     |    1 +
 drivers/infiniband/sw/rdmavt/ah.c                  |    6 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |  250 +-
 drivers/infiniband/sw/rdmavt/cq.h                  |    7 +-
 drivers/infiniband/sw/rdmavt/mr.c                  |    6 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |  402 +-
 drivers/infiniband/sw/rdmavt/qp.h                  |    2 +
 drivers/infiniband/sw/rdmavt/rc.c                  |   41 +-
 drivers/infiniband/sw/rdmavt/srq.c                 |   69 +-
 drivers/infiniband/sw/rdmavt/trace_mr.h            |   56 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |    7 +-
 drivers/infiniband/sw/rdmavt/vt.h                  |    9 +
 drivers/infiniband/sw/rxe/rxe_comp.c               |    2 +-
 drivers/infiniband/sw/rxe/rxe_mr.c                 |    3 +-
 drivers/infiniband/sw/rxe/rxe_pool.c               |    1 +
 drivers/infiniband/sw/rxe/rxe_resp.c               |    5 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |   40 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |    3 +-
 drivers/infiniband/sw/siw/Kconfig                  |   18 +
 drivers/infiniband/sw/siw/Makefile                 |   11 +
 drivers/infiniband/sw/siw/iwarp.h                  |  380 ++
 drivers/infiniband/sw/siw/siw.h                    |  745 ++++
 drivers/infiniband/sw/siw/siw_cm.c                 | 2070 ++++++++++
 drivers/infiniband/sw/siw/siw_cm.h                 |  133 +
 drivers/infiniband/sw/siw/siw_cq.c                 |  101 +
 drivers/infiniband/sw/siw/siw_main.c               |  685 ++++
 drivers/infiniband/sw/siw/siw_mem.c                |  460 +++
 drivers/infiniband/sw/siw/siw_mem.h                |   74 +
 drivers/infiniband/sw/siw/siw_qp.c                 | 1322 +++++++
 drivers/infiniband/sw/siw/siw_qp_rx.c              | 1458 +++++++
 drivers/infiniband/sw/siw/siw_qp_tx.c              | 1269 +++++++
 drivers/infiniband/sw/siw/siw_verbs.c              | 1760 +++++++++
 drivers/infiniband/sw/siw/siw_verbs.h              |   91 +
 drivers/infiniband/ulp/ipoib/Kconfig               |    2 +-
 drivers/infiniband/ulp/ipoib/ipoib_cm.c            |    1 -
 drivers/infiniband/ulp/ipoib/ipoib_ethtool.c       |    3 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |   34 +-
 drivers/infiniband/ulp/ipoib/ipoib_verbs.c         |    7 +-
 drivers/infiniband/ulp/iser/iscsi_iser.c           |   12 +-
 drivers/infiniband/ulp/iser/iscsi_iser.h           |   64 +-
 drivers/infiniband/ulp/iser/iser_initiator.c       |   12 +-
 drivers/infiniband/ulp/iser/iser_memory.c          |  121 +-
 drivers/infiniband/ulp/iser/iser_verbs.c           |  156 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |   19 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |   21 +-
 drivers/nvme/host/rdma.c                           |    2 +-
 include/linux/dim.h                                |   23 +
 include/linux/mlx5/mlx5_ifc.h                      |    6 +-
 include/linux/mlx5/qp.h                            |    4 +-
 include/rdma/ib_umem.h                             |   19 +-
 include/rdma/ib_umem_odp.h                         |   20 +
 include/rdma/ib_verbs.h                            |  247 +-
 include/rdma/mr_pool.h                             |    2 +-
 include/rdma/rdma_counter.h                        |   65 +
 include/rdma/rdma_netlink.h                        |    8 +
 include/rdma/rdma_vt.h                             |    5 +-
 include/rdma/rdmavt_cq.h                           |   25 +-
 include/rdma/rdmavt_qp.h                           |  312 +-
 include/rdma/restrack.h                            |    9 +-
 include/rdma/rw.h                                  |    9 -
 include/rdma/signature.h                           |  122 +
 include/uapi/rdma/ib_user_cm.h                     |  326 --
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   19 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h          |    9 +
 include/uapi/rdma/rdma_netlink.h                   |   86 +-
 include/uapi/rdma/rdma_user_ioctl_cmds.h           |    1 +
 include/uapi/rdma/rvt-abi.h                        |   66 +
 include/uapi/rdma/siw-abi.h                        |  185 +
 lib/dim/Makefile                                   |    6 +-
 lib/dim/rdma_dim.c                                 |  108 +
 net/rds/ib_cm.c                                    |    8 +-
 221 files changed, 18855 insertions(+), 24841 deletions(-)
(diffstat from tag for-linus-merged)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-06-06 20:14 Jason Gunthorpe
@ 2019-06-07 16:45 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-06-07 16:45 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Thu, 6 Jun 2019 20:14:24 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6e38335dcc70f03faba26bf1260ee024d930afe1

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-06-06 20:14 Jason Gunthorpe
  2019-06-07 16:45 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-06-06 20:14 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2980 bytes --]

Hi Linus,

Things are looking pretty quiet here in RDMA, not too many bug fixes rolling
in right now. Here is the first batch of proposed rc fixes.

Thanks,
Jason

The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9:

  Linux 5.2-rc1 (2019-05-19 15:47:09 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 4f240dfec6bcc852b124ea7c419fb590949fbd4c:

  RDMA/efa: Remove MAYEXEC flag check from mmap flow (2019-05-29 13:13:03 -0300)

----------------------------------------------------------------
5.2 First rc pull request

The usual driver bug fixes and fixes for a couple of regressions introduced in
5.2:

- Fix a race on bootup with RDMA device renaming and srp. SRP also needs to
  rename its internal sys files

- Fix a memory leak in hns

- Don't leak resources in efa on certain error unwinds

- Don't panic in certain error unwinds in ib_register_device

- Various small user visible bug fix patches for the hfi and efa drivers

- Fix the 32 bit compilation break

----------------------------------------------------------------
Gal Pressman (2):
      RDMA/uverbs: Pass udata on uverbs error unwind
      RDMA/efa: Remove MAYEXEC flag check from mmap flow

Jason Gunthorpe (1):
      RDMA/core: Clear out the udata before error unwind

Kamal Heib (1):
      RDMA/core: Fix panic when port_data isn't initialized

Kamenee Arumugam (1):
      IB/hfi1: Validate page aligned for a given virtual address

Leon Romanovsky (2):
      RDMA/srp: Rename SRP sysfs name after IB device rename trigger
      RDMA/hns: Fix PD memory leak for internal allocation

Michal Kubecek (1):
      mlx5: avoid 64-bit division

Mike Marciniszyn (3):
      IB/rdmavt: Fix alloc_qpn() WARN_ON()
      IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
      IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value

 drivers/infiniband/core/device.c              | 49 +++++++++++++++++++--------
 drivers/infiniband/core/rdma_core.h           |  2 ++
 drivers/infiniband/core/uverbs_cmd.c          | 30 +++++++++++-----
 drivers/infiniband/core/uverbs_std_types_cq.c |  2 +-
 drivers/infiniband/core/uverbs_std_types_mr.c |  2 +-
 drivers/infiniband/hw/efa/efa_verbs.c         |  1 -
 drivers/infiniband/hw/hfi1/chip.c             |  1 +
 drivers/infiniband/hw/hfi1/user_exp_rcv.c     |  3 ++
 drivers/infiniband/hw/hfi1/verbs.c            |  2 --
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c    |  1 +
 drivers/infiniband/hw/mlx5/cmd.c              |  9 +++--
 drivers/infiniband/hw/mlx5/main.c             |  2 +-
 drivers/infiniband/hw/qib/qib_verbs.c         |  2 --
 drivers/infiniband/sw/rdmavt/mr.c             |  2 ++
 drivers/infiniband/sw/rdmavt/qp.c             |  3 +-
 drivers/infiniband/ulp/srp/ib_srp.c           | 18 +++++++++-
 include/rdma/ib_verbs.h                       |  1 +
 17 files changed, 95 insertions(+), 35 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-05-15  0:46 Jason Gunthorpe
@ 2019-05-15  4:05 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-05-15  4:05 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Wed, 15 May 2019 00:46:58 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/5ac94332248ee017964ba368cdda4ce647e3aba7

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-05-15  0:46 Jason Gunthorpe
  2019-05-15  4:05 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-05-15  0:46 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1991 bytes --]

Hi Linus,

These are the 2nd proposed RDMA patches for 5.2.

As requested the main reason to send this is to fix the gcc 9.1
warnings that many people may hit now that FC30 is out.

Thanks,
Jason

The following changes since commit b79656ed44c6865e17bcd93472ec39488bcc4984:

  RDMA/ipoib: Allow user space differentiate between valid dev_port (2019-05-07 16:13:23 -0300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to c191f93454bcc92810b9c8cdb895a452a57948c2:

  net/mlx5: Set completion EQs as shared resources (2019-05-14 10:22:09 -0300)

----------------------------------------------------------------
5.2 Merge Window second pull request

This is being sent to get a fix for the gcc 9.1 build warnings, and I've
also pulled in some bug fix patches that were posted in the last two
weeks.

- Avoid the gcc 9.1 warning about overflowing a union member

- Fix the wrong callback type for a single response netlink to doit

- Bug fixes from more usage of the mlx5 devx interface

----------------------------------------------------------------
Jason Gunthorpe (1):
      RDMA: Directly cast the sockaddr union to sockaddr

Parav Pandit (1):
      RDMA/core: Change system parameters callback from dumpit to doit

Yishai Hadas (2):
      IB/mlx5: Verify DEVX general object type correctly
      net/mlx5: Set completion EQs as shared resources

 drivers/infiniband/core/addr.c               | 16 ++++++++--------
 drivers/infiniband/core/nldev.c              | 27 +++++++++++++++------------
 drivers/infiniband/hw/mlx5/devx.c            | 13 ++++++++++---
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c     |  5 ++---
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c     |  5 ++---
 drivers/net/ethernet/mellanox/mlx5/core/eq.c |  3 +++
 include/linux/mlx5/mlx5_ifc.h                |  2 +-
 include/uapi/rdma/rdma_netlink.h             |  2 +-
 8 files changed, 42 insertions(+), 31 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-05-09 13:37 Jason Gunthorpe
@ 2019-05-09 16:25 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-05-09 16:25 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Thu, 9 May 2019 13:37:23 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/dce45af5c2e9e85f22578f2f8065f225f5d11764

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-05-09 13:37 Jason Gunthorpe
  2019-05-09 16:25 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-05-09 13:37 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 30454 bytes --]

Hi Linus,

These are the proposed RDMA patches for 5.2.

There is a small conflict with the mlx5-next (net-next) tree resolved with
this hunk:

diff --cc drivers/infiniband/hw/mlx5/main.c
index 687f99172037be,fae6a6a1fbea12..abac70ad5c7c46
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@@ -200,12 -172,18 +200,12 @@@ static int mlx5_netdev_event(struct not

        switch (event) {
        case NETDEV_REGISTER:
 +              /* Should already be registered during the load */
 +              if (ibdev->is_rep)
 +                      break;
                write_lock(&roce->netdev_lock);
-               if (ndev->dev.parent == &mdev->pdev->dev)
 -              if (ibdev->rep) {
 -                      struct mlx5_eswitch *esw = ibdev->mdev->priv.eswitch;
 -                      struct net_device *rep_ndev;
 -
 -                      rep_ndev = mlx5_ib_get_rep_netdev(esw,
 -                                                        ibdev->rep->vport);
 -                      if (rep_ndev == ndev)
 -                              roce->netdev = ndev;
 -              } else if (ndev->dev.parent == mdev->device) {
++              if (ndev->dev.parent == mdev->device)
                        roce->netdev = ndev;
 -              }
                write_unlock(&roce->netdev_lock);
                break;

I also have some notifications from StephenR about minor conflicts with
patches in akpm's tree that you haven't merged yet. Here are his resolutions:

https://lore.kernel.org/lkml/20190509153805.6dfbb8ef@canb.auug.org.au/
https://lore.kernel.org/lkml/20190506204824.11a7b368@canb.auug.org.au/
https://lore.kernel.org/lkml/20190506203710.10b080dc@canb.auug.org.au/

The tag for-linus-merged with my merge resolution for the mlx5-next
branch is also available to pull.

The following changes since commit 96780e4f46b2fc0fc5ae2b95957002e2c42b11d3:

  net/mlx5: Introduce new TIR creation core API (2019-04-24 12:33:37 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to b79656ed44c6865e17bcd93472ec39488bcc4984:

  RDMA/ipoib: Allow user space differentiate between valid dev_port (2019-05-07 16:13:23 -0300)

----------------------------------------------------------------
5.2 Merge Window pull request

This has been a smaller cycle than normal. One new driver was accepted,
which is unusual, and at least one more driver remains in review on the
list.

- Driver fixes for hns, hfi1, nes, rxe, i40iw, mlx5, cxgb4, vmw_pvrdma

- Many patches from MatthewW converting radix tree and IDR users to use
  xarray

- Introduction of tracepoints to the MAD layer

- Build large SGLs at the start for DMA mapping and get the driver to
  split them

- Generally clean SGL handling code throughout the subsystem

- Support for restricting RDMA devices to net namespaces for containers

- Progress to remove object allocation boilerplate code from drivers

- Change in how the mlx5 driver shows representor ports linked to VFs

- mlx5 uapi feature to access the on chip SW ICM memory

- Add a new driver for 'EFA'. This is HW that supports user space packet
  processing through QPs in Amazon's cloud

----------------------------------------------------------------
Ariel Levkovich (5):
      IB/mlx5: Expose TIR ICM address to user space
      IB/mlx5: Support device memory type attribute
      IB/mlx5: Warn on allocated MEMIC buffers during cleanup
      IB/mlx5: Add steering SW ICM device memory type
      IB/mlx5: Device resource control for privileged DEVX user

Artemy Kovalyov (3):
      IB/mlx5: WQE dump jumps over first 16 bytes
      IB/mlx5: Compare only index part of a memory window rkey
      IB/core: Set qp->real_qp before it may be accessed

Bart Van Assche (6):
      RDMA/uverbs: Add a __user annotation to a pointer
      RDMA/uverbs: Annotate uverbs_request_next_ptr() return value as a __user pointer
      RDMA/uverbs: Allow the compiler to verify declaration and definition consistency
      IB/mlx5: Declare devx_async_cmd_event_fops static
      IB/hfi1: Fix two format strings
      IB/qib: Remove a set-but-not-used variable

Chengguang Xu (1):
      infiniband/qib: Fix typo in comment

Colin Ian King (6):
      RDMA/nes: remove redundant check on udata
      IB/iser: remove uninitialized variable len
      opa_vnic: fix check on record->event, incorrect operator used
      RDMA/mlx5: Check for error return in flow_rule rather than err
      RDMA/cxgb4: Fix null pointer dereference on alloc_skb failure
      RDMA/cxgb4: Fix spelling mistake "immedate" -> "immediate"

Dennis Dalessandro (1):
      IB/core, ipoib: Do not overreact to SM LID change event

Devesh Sharma (1):
      RDMA/ocrdma: Remove use of idr use pci bdf instead

Enrico Weigelt, metux IT consult (1):
      drivers: infiniband: Fix whitespace in kconfig

Erez Alfasi (1):
      RDMA: Use __packed annotation instead of __attribute__ ((packed))

Gal Pressman (14):
      RDMA/core: Introduce RDMA subsystem ibdev_* print functions
      RDMA/uverbs: Initialize udata struct on destroy flows
      RDMA: Add EFA related definitions
      RDMA/efa: Add EFA device definitions
      RDMA/efa: Add the efa.h header file
      RDMA/efa: Add the efa_com.h file
      RDMA/efa: Add the com service API definitions
      RDMA/efa: Add the ABI definitions
      RDMA/efa: Implement functions that submit and complete admin commands
      RDMA/efa: Add common command handlers
      RDMA/efa: Add EFA verbs implementation
      RDMA/efa: Add the efa module
      RDMA/efa: Add driver to Kconfig/Makefile
      lib/scatterlist: Remove leftover from sg_page_iter comment

Ira Weiny (7):
      IB/core: Ensure an invalidate_range callback on ODP MR
      IB/MAD: Add send path trace points
      IB/MAD: Add recv path trace point
      IB/MAD: Add agent trace points
      IB/UMAD: Add umad trace points
      IB/MAD: Add SMP details to MAD tracing
      BPF: Add sample code for new ib_umad tracepoint

Jack Morgenstein (1):
      IB/mlx5: Add missing XRC options to QP optional params mask

Jason Gunthorpe (9):
      Merge HFI1 updates into k.o/for-next
      IB/mlx5: Remove references to uboject->context
      IB: When attrs.udata/ufile is available use that instead of uobject
      RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
      Merge branch 'mlx5-next' into rdma.git for-next
      RDMA/mlx5: Use get_zeroed_page() for clock_info
      RDMA: Remove rdma_user_mmap_page
      Merge branch 'rdma_mmap' into rdma.git for-next
      Merge branch 'mlx5_tir_icm' into rdma.git for-next

John Fleck (1):
      IB/hfi1: Remove reference to RHF.VCRCErr

Josh Collier (1):
      IB/hfi1: Add debugfs to control expansion ROM write protect

Kaike Wan (6):
      IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA
      IB/hfi1: Add a function to read next expected psn from hardware flow
      IB/hfi1: Unify the software PSN check for TID RDMA READ/WRITE
      IB/hfi1: Remove WARN_ON when freeing expected receive groups
      IB/hfi1: Implement CCA for TID RDMA protocol
      IB/{rdmavt, hfi1): Miscellaneous comment fixes

Kamal Heib (1):
      RDMA: Get rid of iw_cm_verbs

Kangjie Lu (1):
      RDMA/i40iw: Handle workqueue allocation failure

Leon Romanovsky (19):
      RDMA/rxe: Fix slab-out-bounds access which lead to kernel crash later
      overflow: Fix -Wtype-limits compilation warnings
      RDMA/hns: Limit scope of hns_roce_cmq_send()
      RDMA/netlink: Remove unused data structure
      RDMA/core: Don't compare specific bit after boolean AND
      RDMA/hns: Fix bad endianess of port_pd variable
      RDMA/cma: Set proper port number as index
      RDMA/mlx5: Cleanup WQE page fault handler
      RDMA/cm: Remove useless zeroing of static global variable
      RDMA/cm: Move debug counters to be under relevant IB device
      RDMA/nldev: Return device protocol
      RDMA/core: Support object allocation in atomic context
      RDMA: Handle AH allocations by IB/core
      RDMA: Handle SRQ allocations by IB/core
      RDMA/hns: Remove asynchronic QP destroy
      RDMA/rdmavt: Catch use-after-free access of AH structures
      RDMA/mlx5: Remove MAYEXEC flag
      RDMA/device: Don't fire uevent before device is fully initialized
      RDMA/ipoib: Allow user space differentiate between valid dev_port

Lijun Ou (8):
      RDMA/hns: Only assign the relatived fields of psn if IB_QP_SQ_PSN is set
      RDMA/hns: Only assign the fields of the rq psn if IB_QP_RQ_PSN is set
      RDMA/hns: Update the range of raq_psn field of qp context
      RDMA/hns: Only assgin some fields if the relatived attr_mask is set
      RDMA/hns: Hide error print information with roce vf device
      RDMA/hns: Bugfix for sending with invalidate
      RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function
      RDMA/hns: Dump detailed driver-specific CQ

Maor Gottlieb (1):
      RDMA/mlx5: Add query e-switch vport context to devx white list

Mark Bloch (16):
      RDMA/mlx5: Move netdev info into the port struct
      RDMA/mlx5: Free IB device on remove
      RDMA/mlx5: Move ports allocation to outside of INIT stage
      RDMA/mlx5: Use correct size for device resources
      RDMA/mlx5: Move rep into port struct
      RDMA/mlx5: Move default representors SQ steering to rule to modify QP
      RDMA/mlx5: Refactor netdev affinity code
      RDMA/mlx5: Move SMI caps logic
      RDMA/mlx5: Move to single device multiport ports in switchdev mode
      RDMA/mlx5: Remove VF representor profile
      RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
      RDMA/mlx5: Create flow table with max size supported
      RDMA/mlx5: Allow inserting a steering rule to the FDB
      RDMA/mlx5: Allow DEVX and raw creation flow on reps
      RDMA/mlx5: Initialize roce port info before multiport master init
      RDMA/mlx5: Don't create IB representors when in multiport RoCE mode

Matthew Wilcox (26):
      cxgb3: Convert cqidr to XArray
      cxgb3: Convert qpidr to XArray
      cxgb3: Convert mmidr to XArray
      cxgb4: Convert cqidr to XArray
      cxgb4: Convert qpidr to XArray
      cxgb4: Convert mmidr to XArray
      cxgb4: Convert hwtid_idr to XArray
      cxgb4: Convert atid_idr to XArray
      cxgb4: Convert stid_idr to XArray
      mlx5: Convert mlx5_srq_table to XArray
      mlx4: Convert pv_id_table to XArray
      IB/mad: Convert ib_mad_clients to XArray
      RDMA/cm: Convert local_id_table to XArray
      ib core: Convert query_idr to XArray
      ucm: Convert ctx_id_table to XArray
      cma: Convert portspace IDRs to XArray
      RDMA/hns: Convert cq_table to XArray
      RDMA/hns: Convert qp_table_tree to XArray
      hfi1: Convert vesw_idr to XArray
      qedr: Convert qpidr to XArray
      qedr: Convert srqidr to XArray
      hfi1: Convert hfi1_unit_table to XArray
      qib: Convert qib_unit_table to XArray
      opa_vnic: Convert vport_idr to XArray
      ib/bnxt: Remove mention of idr_alloc from comment
      uverbs: Convert idr to XArray

Mike Marciniszyn (7):
      IB/hfi1: Add running average for adaptive pio
      IB/hfi1: Make opfn.h self sufficient
      IB/rdmavt: Fix ab/ba include issues
      IB/rdmavt: Use more efficient allowed_ops
      IB/{rdmavt, qib, hfi1}: Use new routine to release reference counts
      IB/hfi1: Add selected Rcv counters
      IB/hfi1: Fix WQ_MEM_RECLAIM warning

Parav Pandit (22):
      RDMA/core: Introduce ib_core_device to hold device
      RDMA/core: Restrict sysfs entries view to init_net
      RDMA/core: Implement compat device/sysfs tree in net namespace
      RDMA/core: Support core port attributes in non init_net
      RDMA/core: Add module param to disable device sharing among net ns
      RDMA: Check net namespace access for uverbs, umad, cma and nldev
      RDMA/core: Extend ib_device_get_by_index for net namespace
      RDMA/core: Add interface to read device namespace sharing mode
      RDMA/core: Add command to set ib_core device net namspace sharing mode
      RDMA/core: Avoid freeing netdevs in disable_device()
      RDMA/core: Introduce a helper function to change net namespace of rdma device
      RDMA/core: Add a netlink command to change net namespace of rdma device
      IB/core: Allow vlan link local address based RoCE GIDs
      RDMA/cma: Consider scope_id while binding to ipv6 ll address
      RDMA/core: Do not invoke init_port on compat devices
      RDMA/rxe: Consider skb reserve space based on netdev of GID
      IB/cm: Reduce dependency on gid attribute ndev check
      RDMA: Introduce and use GID attr helper to read RoCE L2 fields
      RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
      RDMA/rxe: Use rdma_read_gid_attr_ndev_rcu to access netdev
      net/smc: Use rdma_read_gid_l2_fields to L2 fields
      RDMA/core: Allow detaching gid attribute netdevice for RoCE

Potnuri Bharat Teja (2):
      iw_cxgb4: Update Maintainer details
      RDMA/iw_cxgb4: Always disconnect when QP is transitioning to TERMINATE state

Selvin Xavier (1):
      RDMA/bnxt_re: Use correct sizing on buffers holding page DMA addresses

Shamir Rabinovitch (6):
      IB: ucontext should be set properly for all cmd & ioctl paths
      IB: Pass uverbs_attr_bundle down uobject destroy path
      IB: Pass uverbs_attr_bundle down ib_x destroy path
      IB: Remove 'uobject->context' dependency in object destroy APIs
      IB: Pass only ib_udata in function prototypes
      RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in ib_uverbs_get_context

Shiraz Saleem (12):
      RDMA/cxbg: Use correct sizing on buffers holding page DMA addresses
      RDMA/mthca: Use correct sizing on buffers holding page DMA addresses
      RDMA/rxe: Use correct sizing on buffers holding page DMA addresses
      RDMA/rdmavt: Use correct sizing on buffers holding page DMA addresses
      RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs
      RDMA/umem: Use correct value for SG entries in sg_copy_to_buffer()
      RDMA/umem: Handle page combining avoidance correctly in ib_umem_add_sg_table()
      RDMA/umem: Add API to find best driver supported page size in an MR
      RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks
      RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size
      RDMA/bnxt_re: Use core helpers to get aligned DMA address
      RDMA/umem: Remove hugetlb flag

Steve Wise (1):
      RDMA/cxgb4: Use ib_device_set_netdev()

Yuval Shaia (1):
      RDMA/vmw_pvrdma: Skip zeroing device attrs

Zhu Yanjun (1):
      IB/rxe: Replace av->network_type with skb->protocol

chenglang (1):
      RDMA/hns: Support to create 1M srq queue

 MAINTAINERS                                        |   17 +-
 drivers/infiniband/Kconfig                         |    1 +
 drivers/infiniband/core/addr.c                     |    1 +
 drivers/infiniband/core/cache.c                    |  145 +-
 drivers/infiniband/core/cm.c                       |   94 +-
 drivers/infiniband/core/cm_msgs.h                  |   22 +-
 drivers/infiniband/core/cma.c                      |   83 +-
 drivers/infiniband/core/core_priv.h                |   18 +-
 drivers/infiniband/core/cq.c                       |   21 +-
 drivers/infiniband/core/device.c                   |  632 ++++++-
 drivers/infiniband/core/iwcm.c                     |   35 +-
 drivers/infiniband/core/mad.c                      |   87 +-
 drivers/infiniband/core/mad_priv.h                 |    4 +-
 drivers/infiniband/core/multicast.c                |    1 -
 drivers/infiniband/core/nldev.c                    |  112 +-
 drivers/infiniband/core/rdma_core.c                |  200 +--
 drivers/infiniband/core/rdma_core.h                |   11 +-
 drivers/infiniband/core/sa_query.c                 |   44 +-
 drivers/infiniband/core/sysfs.c                    |   93 +-
 drivers/infiniband/core/ucm.c                      |   35 +-
 drivers/infiniband/core/umem.c                     |  179 +-
 drivers/infiniband/core/umem_odp.c                 |   20 +-
 drivers/infiniband/core/user_mad.c                 |   22 +
 drivers/infiniband/core/uverbs.h                   |    7 +-
 drivers/infiniband/core/uverbs_cmd.c               |   99 +-
 drivers/infiniband/core/uverbs_ioctl.c             |   29 +-
 drivers/infiniband/core/uverbs_main.c              |   69 +-
 drivers/infiniband/core/uverbs_std_types.c         |   52 +-
 .../infiniband/core/uverbs_std_types_counters.c    |    6 +-
 drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
 drivers/infiniband/core/uverbs_std_types_dm.c      |   10 +-
 .../infiniband/core/uverbs_std_types_flow_action.c |    6 +-
 drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
 drivers/infiniband/core/verbs.c                    |  233 ++-
 drivers/infiniband/hw/Makefile                     |    1 +
 drivers/infiniband/hw/bnxt_re/Kconfig              |   12 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  194 +--
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   36 +-
 drivers/infiniband/hw/bnxt_re/main.c               |    8 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   39 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |   13 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c         |    4 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.c          |   43 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.h          |    8 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   16 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
 drivers/infiniband/hw/cxgb3/cxio_wr.h              |   10 +-
 drivers/infiniband/hw/cxgb3/iwch.c                 |   56 +-
 drivers/infiniband/hw/cxgb3/iwch.h                 |   38 +-
 drivers/infiniband/hw/cxgb3/iwch_ev.c              |   18 +-
 drivers/infiniband/hw/cxgb3/iwch_mem.c             |    2 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |   97 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   69 +-
 drivers/infiniband/hw/cxgb4/cq.c                   |   23 +-
 drivers/infiniband/hw/cxgb4/device.c               |  210 +--
 drivers/infiniband/hw/cxgb4/ev.c                   |   18 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   96 +-
 drivers/infiniband/hw/cxgb4/mem.c                  |   25 +-
 drivers/infiniband/hw/cxgb4/provider.c             |   77 +-
 drivers/infiniband/hw/cxgb4/qp.c                   |   77 +-
 drivers/infiniband/hw/efa/Kconfig                  |   15 +
 drivers/infiniband/hw/efa/Makefile                 |    9 +
 drivers/infiniband/hw/efa/efa.h                    |  163 ++
 drivers/infiniband/hw/efa/efa_admin_cmds_defs.h    |  794 +++++++++
 drivers/infiniband/hw/efa/efa_admin_defs.h         |  136 ++
 drivers/infiniband/hw/efa/efa_com.c                | 1160 +++++++++++++
 drivers/infiniband/hw/efa/efa_com.h                |  144 ++
 drivers/infiniband/hw/efa/efa_com_cmd.c            |  692 ++++++++
 drivers/infiniband/hw/efa/efa_com_cmd.h            |  270 +++
 drivers/infiniband/hw/efa/efa_common_defs.h        |   18 +
 drivers/infiniband/hw/efa/efa_main.c               |  533 ++++++
 drivers/infiniband/hw/efa/efa_regs_defs.h          |  113 ++
 drivers/infiniband/hw/efa/efa_verbs.c              | 1825 ++++++++++++++++++++
 drivers/infiniband/hw/hfi1/chip.c                  |   54 +-
 drivers/infiniband/hw/hfi1/chip.h                  |    3 +
 drivers/infiniband/hw/hfi1/chip_registers.h        |    3 +
 drivers/infiniband/hw/hfi1/common.h                |    2 +-
 drivers/infiniband/hw/hfi1/debugfs.c               |   82 +-
 drivers/infiniband/hw/hfi1/driver.c                |   19 +-
 drivers/infiniband/hw/hfi1/exp_rcv.c               |    3 -
 drivers/infiniband/hw/hfi1/hfi.h                   |    8 +-
 drivers/infiniband/hw/hfi1/init.c                  |   59 +-
 drivers/infiniband/hw/hfi1/opfn.h                  |    6 +-
 drivers/infiniband/hw/hfi1/qp.c                    |    2 +
 drivers/infiniband/hw/hfi1/rc.c                    |   27 +-
 drivers/infiniband/hw/hfi1/rc.h                    |    8 +
 drivers/infiniband/hw/hfi1/ruc.c                   |    2 +-
 drivers/infiniband/hw/hfi1/tid_rdma.c              |  274 ++-
 drivers/infiniband/hw/hfi1/tid_rdma.h              |    2 -
 drivers/infiniband/hw/hfi1/trace_dbg.h             |    4 +-
 drivers/infiniband/hw/hfi1/trace_tid.h             |   12 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |   15 +-
 drivers/infiniband/hw/hfi1/verbs.h                 |    1 +
 drivers/infiniband/hw/hfi1/vnic_main.c             |   16 +-
 drivers/infiniband/hw/hns/Makefile                 |    4 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.h           |    1 +
 drivers/infiniband/hw/hns/hns_roce_common.h        |   33 -
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   68 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |   52 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |  396 +----
 drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |   14 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  320 ++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |    7 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c     |   35 +
 drivers/infiniband/hw/hns/hns_roce_main.c          |   35 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |    6 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c            |    7 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   50 +-
 drivers/infiniband/hw/hns/hns_roce_restrack.c      |  126 ++
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   52 +-
 drivers/infiniband/hw/i40iw/i40iw.h                |    2 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |   21 +-
 drivers/infiniband/hw/i40iw/i40iw_main.c           |    5 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  123 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.h          |    3 +-
 drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
 drivers/infiniband/hw/mlx4/cm.c                    |   36 +-
 drivers/infiniband/hw/mlx4/cq.c                    |   40 +-
 drivers/infiniband/hw/mlx4/doorbell.c              |    6 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
 drivers/infiniband/hw/mlx4/main.c                  |   13 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |   41 +-
 drivers/infiniband/hw/mlx4/mr.c                    |    7 +-
 drivers/infiniband/hw/mlx4/qp.c                    |   50 +-
 drivers/infiniband/hw/mlx4/srq.c                   |   59 +-
 drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
 drivers/infiniband/hw/mlx5/cmd.c                   |  155 +-
 drivers/infiniband/hw/mlx5/cmd.h                   |    8 +-
 drivers/infiniband/hw/mlx5/cq.c                    |   47 +-
 drivers/infiniband/hw/mlx5/devx.c                  |   32 +-
 drivers/infiniband/hw/mlx5/flow.c                  |   99 +-
 drivers/infiniband/hw/mlx5/ib_rep.c                |  109 +-
 drivers/infiniband/hw/mlx5/ib_rep.h                |   13 +-
 drivers/infiniband/hw/mlx5/main.c                  |  662 ++++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  118 +-
 drivers/infiniband/hw/mlx5/mr.c                    |   52 +-
 drivers/infiniband/hw/mlx5/odp.c                   |  132 +-
 drivers/infiniband/hw/mlx5/qp.c                    |  161 +-
 drivers/infiniband/hw/mlx5/srq.c                   |   76 +-
 drivers/infiniband/hw/mlx5/srq.h                   |    7 +-
 drivers/infiniband/hw/mlx5/srq_cmd.c               |   35 +-
 drivers/infiniband/hw/mthca/mthca_cq.c             |    2 +-
 drivers/infiniband/hw/mthca/mthca_eq.c             |   16 +-
 drivers/infiniband/hw/mthca/mthca_mr.c             |    2 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |  179 +-
 drivers/infiniband/hw/mthca/mthca_qp.c             |    6 +-
 drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
 drivers/infiniband/hw/nes/nes_verbs.c              |  168 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   25 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  128 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   24 +-
 drivers/infiniband/hw/qedr/main.c                  |   57 +-
 drivers/infiniband/hw/qedr/qedr.h                  |   11 +-
 drivers/infiniband/hw/qedr/qedr_iw_cm.c            |   10 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
 drivers/infiniband/hw/qedr/verbs.c                 |  129 +-
 drivers/infiniband/hw/qedr/verbs.h                 |   27 +-
 drivers/infiniband/hw/qib/qib.h                    |    4 +-
 drivers/infiniband/hw/qib/qib_common.h             |    2 +-
 drivers/infiniband/hw/qib/qib_driver.c             |   20 +-
 drivers/infiniband/hw/qib/qib_fs.c                 |   12 +-
 drivers/infiniband/hw/qib/qib_iba7322.c            |    4 +-
 drivers/infiniband/hw/qib/qib_init.c               |   56 +-
 drivers/infiniband/hw/qib/qib_rc.c                 |    4 +-
 drivers/infiniband/hw/qib/qib_user_sdma.c          |    5 +-
 drivers/infiniband/hw/qib/qib_verbs.h              |    2 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   15 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   12 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
 drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   17 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   28 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |   15 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   43 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |   56 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   27 +-
 drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
 drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
 drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
 drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
 drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
 drivers/infiniband/sw/rdmavt/mr.c                  |    9 +-
 drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
 drivers/infiniband/sw/rdmavt/pd.c                  |    7 +-
 drivers/infiniband/sw/rdmavt/pd.h                  |    5 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |   27 +-
 drivers/infiniband/sw/rdmavt/qp.h                  |    4 +-
 drivers/infiniband/sw/rdmavt/rc.c                  |    2 +-
 drivers/infiniband/sw/rdmavt/srq.c                 |   49 +-
 drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
 drivers/infiniband/sw/rdmavt/trace_qp.h            |    2 +-
 drivers/infiniband/sw/rdmavt/trace_rc.h            |    2 +-
 drivers/infiniband/sw/rdmavt/trace_tx.h            |    2 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |    3 +
 drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
 drivers/infiniband/sw/rxe/rxe_hdr.h                |    2 +-
 drivers/infiniband/sw/rxe/rxe_loc.h                |   16 +-
 drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
 drivers/infiniband/sw/rxe/rxe_mr.c                 |   13 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |   46 +-
 drivers/infiniband/sw/rxe/rxe_pool.c               |    4 +-
 drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
 drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
 drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
 drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |   90 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |    4 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |   13 +-
 drivers/infiniband/ulp/ipoib/ipoib_verbs.c         |    3 +-
 drivers/infiniband/ulp/iser/Kconfig                |    4 +-
 drivers/infiniband/ulp/iser/iscsi_iser.c           |    7 +-
 drivers/infiniband/ulp/iser/iscsi_iser.h           |    2 +-
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c    |   60 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.c    |   30 +-
 include/linux/dynamic_debug.h                      |   11 +
 include/linux/mlx5/driver.h                        |    1 -
 include/linux/overflow.h                           |   12 +-
 include/linux/scatterlist.h                        |   10 +-
 include/rdma/ib_cache.h                            |    4 +
 include/rdma/ib_mad.h                              |    4 +-
 include/rdma/ib_smi.h                              |    2 +-
 include/rdma/ib_umem.h                             |   12 +-
 include/rdma/ib_umem_odp.h                         |    1 +
 include/rdma/ib_verbs.h                            |  430 ++++-
 include/rdma/iw_cm.h                               |   25 -
 include/rdma/opa_port_info.h                       |    2 +-
 include/rdma/opa_smi.h                             |    4 +-
 include/rdma/rdma_vt.h                             |   78 +-
 include/rdma/rdmavt_qp.h                           |   89 +-
 include/rdma/uverbs_std_types.h                    |   42 +-
 include/rdma/uverbs_types.h                        |   18 +-
 include/trace/events/ib_mad.h                      |  390 +++++
 include/trace/events/ib_umad.h                     |  126 ++
 include/uapi/rdma/efa-abi.h                        |  101 ++
 include/uapi/rdma/mlx5-abi.h                       |    2 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |    2 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h          |    7 +
 include/uapi/rdma/rdma_netlink.h                   |   31 +-
 include/uapi/rdma/rdma_user_ioctl_cmds.h           |    1 +
 lib/dynamic_debug.c                                |   37 +
 net/smc/smc_ib.c                                   |   16 +-
 samples/bpf/Makefile                               |    3 +
 samples/bpf/ibumad_kern.c                          |  144 ++
 samples/bpf/ibumad_user.c                          |  122 ++
 251 files changed, 12535 insertions(+), 4571 deletions(-)
(diffstat from merge'd tree)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-29  0:09     ` Linus Torvalds
@ 2019-04-30 12:53       ` Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2019-04-30 12:53 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, linux-kernel

On Sun, Apr 28, 2019 at 05:09:08PM -0700, Linus Torvalds wrote:
> On Sun, Apr 28, 2019 at 4:49 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > It is for high availability - we have situations where the hardware
> > can fault and needs some kind of destructive recovery. For instance a
> > firmware reboot, or a VM migration.
> >
> > In these designs there may be multiple cards in the system and the
> > userspace application could be using both. Just because one card
> > crashed we can't send SIGBUS and kill the application, that breaks the
> > HA design.
> 
> Why can't this magical application that is *so* special that it is HA
> and does magic mmap's of special rdma areas just catch the SIGBUS?
> 
> Honestly, the whole "it's for HA" excuse stinks. It stinks because you
> now silently just replace the mapping with *garbage*. That's not HA,
> that's just random.

This should only used in cases where user space only writes to the BAR
page (it is an interrupt to the device essentially), so it doesn't
care that the pages are now garbage, we just need to redirect the
writes away from the bar.

However I think someone later on added a readable counter BAR pages to
one of the devices :( So even that ideal wasn't respected.

> Wouldn't it be a lot better to just get the SIGBUS, and then that
> magical application knows that "oh, it's gone", and it could - in its
> SIGBUS handler - just do the dummy anonymous mmap() with /dev/zero it
> if it wants to?

This does sound more appealing, and probably should have been done
instead. All this VMA stuff has been a big pain in the long run

Thanks,
Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-29 15:42     ` Doug Ledford
@ 2019-04-29 16:29       ` Doug Ledford
  0 siblings, 0 replies; 77+ messages in thread
From: Doug Ledford @ 2019-04-29 16:29 UTC (permalink / raw)
  To: Jason Gunthorpe, Heiko Carstens; +Cc: Linus Torvalds, linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2164 bytes --]

On Mon, 2019-04-29 at 11:42 -0400, Doug Ledford wrote:
> On Mon, 2019-04-29 at 08:40 +0000, Jason Gunthorpe wrote:
> > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > > Hi Linus,
> > > > 
> > > > Third rc pull request
> > > > 
> > > > Nothing particularly special here. There is a small merge conflict
> > > > with Adrea's mm_still_valid patches which is resolved as below:
> > > ...
> > > > Jason Gunthorpe (3):
> > > >       RDMA/mlx5: Do not allow the user to write to the clock page
> > > >       RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > >       RDMA/ucontext: Fix regression with disassociate
> > > 
> > > This doesn't compile. The patch below would fix it, but not sure if
> > > this is what is intended:
> > > 
> > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > >    vmf->page = ZERO_PAGE(vmf->vm_start);
> > >                             ^~
> > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > > index 7843e89235c3..65fe89b3fa2d 100644
> > > +++ b/drivers/infiniband/core/uverbs_main.c
> > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> > >  
> > >  	/* Read only pages can just use the system zero page. */
> > >  	if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > > -		vmf->page = ZERO_PAGE(vmf->vm_start);
> > > +		vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > >  		get_page(vmf->page);
> > >  		return 0;
> > >  	}
> > > 
> > 
> > Thanks Heiko, this looks right to me. 
> > 
> > I'm surprised to be seeing this at this point, these patches should
> > have been seen by 0 day for several days now, and they were in
> > linux-next already too..
> > 
> > Doug, can you send this to Linus today?
> 
> Yep.
> 

Done.

-- 
Doug Ledford <dledford@redhat.com>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-29  8:40   ` Jason Gunthorpe
  2019-04-29  9:00     ` Michal Kubecek
@ 2019-04-29 15:42     ` Doug Ledford
  2019-04-29 16:29       ` Doug Ledford
  1 sibling, 1 reply; 77+ messages in thread
From: Doug Ledford @ 2019-04-29 15:42 UTC (permalink / raw)
  To: Jason Gunthorpe, Heiko Carstens; +Cc: Linus Torvalds, linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2005 bytes --]

On Mon, 2019-04-29 at 08:40 +0000, Jason Gunthorpe wrote:
> On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > Hi Linus,
> > > 
> > > Third rc pull request
> > > 
> > > Nothing particularly special here. There is a small merge conflict
> > > with Adrea's mm_still_valid patches which is resolved as below:
> > ...
> > > Jason Gunthorpe (3):
> > >       RDMA/mlx5: Do not allow the user to write to the clock page
> > >       RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > >       RDMA/ucontext: Fix regression with disassociate
> > 
> > This doesn't compile. The patch below would fix it, but not sure if
> > this is what is intended:
> > 
> > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> >    vmf->page = ZERO_PAGE(vmf->vm_start);
> >                             ^~
> > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > index 7843e89235c3..65fe89b3fa2d 100644
> > +++ b/drivers/infiniband/core/uverbs_main.c
> > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> >  
> >  	/* Read only pages can just use the system zero page. */
> >  	if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > -		vmf->page = ZERO_PAGE(vmf->vm_start);
> > +		vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> >  		get_page(vmf->page);
> >  		return 0;
> >  	}
> > 
> 
> Thanks Heiko, this looks right to me. 
> 
> I'm surprised to be seeing this at this point, these patches should
> have been seen by 0 day for several days now, and they were in
> linux-next already too..
> 
> Doug, can you send this to Linus today?

Yep.

-- 
Doug Ledford <dledford@redhat.com>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-29  9:00     ` Michal Kubecek
@ 2019-04-29  9:19       ` Leon Romanovsky
  0 siblings, 0 replies; 77+ messages in thread
From: Leon Romanovsky @ 2019-04-29  9:19 UTC (permalink / raw)
  To: Michal Kubecek
  Cc: Jason Gunthorpe, Heiko Carstens, Doug Ledford, Linus Torvalds,
	linux-rdma, linux-kernel

On Mon, Apr 29, 2019 at 11:00:40AM +0200, Michal Kubecek wrote:
> On Mon, Apr 29, 2019 at 08:40:37AM +0000, Jason Gunthorpe wrote:
> > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > > Hi Linus,
> > > >
> > > > Third rc pull request
> > > >
> > > > Nothing particularly special here. There is a small merge conflict
> > > > with Adrea's mm_still_valid patches which is resolved as below:
> > > ...
> > > > Jason Gunthorpe (3):
> > > >       RDMA/mlx5: Do not allow the user to write to the clock page
> > > >       RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > >       RDMA/ucontext: Fix regression with disassociate
> > >
> > > This doesn't compile. The patch below would fix it, but not sure if
> > > this is what is intended:
> > >
> > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > >    vmf->page = ZERO_PAGE(vmf->vm_start);
> > >                             ^~
> > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > > index 7843e89235c3..65fe89b3fa2d 100644
> > > +++ b/drivers/infiniband/core/uverbs_main.c
> > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> > >
> > >  	/* Read only pages can just use the system zero page. */
> > >  	if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > > -		vmf->page = ZERO_PAGE(vmf->vm_start);
> > > +		vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > >  		get_page(vmf->page);
> > >  		return 0;
> > >  	}
> > >
> >
> > Thanks Heiko, this looks right to me.
> >
> > I'm surprised to be seeing this at this point, these patches should
> > have been seen by 0 day for several days now, and they were in
> > linux-next already too..
>
> Most architectures have versions of ZERO_PAGE() which ignore the
> argument so that the code builds anyway. I'm not sure if 0-day also
> tests s390x builds (which is where I ran into this).

According to 0-build results for this patch, the answer is yes, it builds.
s390                        default_defconfig

And it compiles uverbs_main.c (CONFIG_INFINIBAND_USER_ACCESS)
  kernel git:(rdma-next) grep INFIN arch/s390/configs/debug_defconfig
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_MLX4_INFINIBAND=m
CONFIG_MLX5_INFINIBAND=m

Thanks

>
> Michal Kubecek

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-29  8:40   ` Jason Gunthorpe
@ 2019-04-29  9:00     ` Michal Kubecek
  2019-04-29  9:19       ` Leon Romanovsky
  2019-04-29 15:42     ` Doug Ledford
  1 sibling, 1 reply; 77+ messages in thread
From: Michal Kubecek @ 2019-04-29  9:00 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Heiko Carstens, Doug Ledford, Linus Torvalds, linux-rdma, linux-kernel

On Mon, Apr 29, 2019 at 08:40:37AM +0000, Jason Gunthorpe wrote:
> On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > Hi Linus,
> > > 
> > > Third rc pull request
> > > 
> > > Nothing particularly special here. There is a small merge conflict
> > > with Adrea's mm_still_valid patches which is resolved as below:
> > ...
> > > Jason Gunthorpe (3):
> > >       RDMA/mlx5: Do not allow the user to write to the clock page
> > >       RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > >       RDMA/ucontext: Fix regression with disassociate
> > 
> > This doesn't compile. The patch below would fix it, but not sure if
> > this is what is intended:
> > 
> > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> >    vmf->page = ZERO_PAGE(vmf->vm_start);
> >                             ^~
> > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > index 7843e89235c3..65fe89b3fa2d 100644
> > +++ b/drivers/infiniband/core/uverbs_main.c
> > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> >  
> >  	/* Read only pages can just use the system zero page. */
> >  	if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > -		vmf->page = ZERO_PAGE(vmf->vm_start);
> > +		vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> >  		get_page(vmf->page);
> >  		return 0;
> >  	}
> > 
> 
> Thanks Heiko, this looks right to me. 
> 
> I'm surprised to be seeing this at this point, these patches should
> have been seen by 0 day for several days now, and they were in
> linux-next already too..

Most architectures have versions of ZERO_PAGE() which ignore the
argument so that the code builds anyway. I'm not sure if 0-day also
tests s390x builds (which is where I ran into this).

Michal Kubecek

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-29  6:09 ` Heiko Carstens
@ 2019-04-29  8:40   ` Jason Gunthorpe
  2019-04-29  9:00     ` Michal Kubecek
  2019-04-29 15:42     ` Doug Ledford
  0 siblings, 2 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2019-04-29  8:40 UTC (permalink / raw)
  To: Heiko Carstens, Doug Ledford; +Cc: Linus Torvalds, linux-rdma, linux-kernel

On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > Hi Linus,
> > 
> > Third rc pull request
> > 
> > Nothing particularly special here. There is a small merge conflict
> > with Adrea's mm_still_valid patches which is resolved as below:
> ...
> > Jason Gunthorpe (3):
> >       RDMA/mlx5: Do not allow the user to write to the clock page
> >       RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> >       RDMA/ucontext: Fix regression with disassociate
> 
> This doesn't compile. The patch below would fix it, but not sure if
> this is what is intended:
> 
> drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
>    vmf->page = ZERO_PAGE(vmf->vm_start);
>                             ^~
> diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> index 7843e89235c3..65fe89b3fa2d 100644
> +++ b/drivers/infiniband/core/uverbs_main.c
> @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
>  
>  	/* Read only pages can just use the system zero page. */
>  	if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> -		vmf->page = ZERO_PAGE(vmf->vm_start);
> +		vmf->page = ZERO_PAGE(vmf->vma->vm_start);
>  		get_page(vmf->page);
>  		return 0;
>  	}
> 

Thanks Heiko, this looks right to me. 

I'm surprised to be seeing this at this point, these patches should
have been seen by 0 day for several days now, and they were in
linux-next already too..

Doug, can you send this to Linus today?

Thanks,
Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-28 11:52 Jason Gunthorpe
  2019-04-28 16:59 ` Linus Torvalds
  2019-04-28 18:05 ` pr-tracker-bot
@ 2019-04-29  6:09 ` Heiko Carstens
  2019-04-29  8:40   ` Jason Gunthorpe
  2 siblings, 1 reply; 77+ messages in thread
From: Heiko Carstens @ 2019-04-29  6:09 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> Hi Linus,
> 
> Third rc pull request
> 
> Nothing particularly special here. There is a small merge conflict
> with Adrea's mm_still_valid patches which is resolved as below:
...
> Jason Gunthorpe (3):
>       RDMA/mlx5: Do not allow the user to write to the clock page
>       RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
>       RDMA/ucontext: Fix regression with disassociate

This doesn't compile. The patch below would fix it, but not sure if
this is what is intended:

drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
   vmf->page = ZERO_PAGE(vmf->vm_start);
                            ^~
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index 7843e89235c3..65fe89b3fa2d 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
 
 	/* Read only pages can just use the system zero page. */
 	if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
-		vmf->page = ZERO_PAGE(vmf->vm_start);
+		vmf->page = ZERO_PAGE(vmf->vma->vm_start);
 		get_page(vmf->page);
 		return 0;
 	}

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-28 23:49   ` Jason Gunthorpe
@ 2019-04-29  0:09     ` Linus Torvalds
  2019-04-30 12:53       ` Jason Gunthorpe
  0 siblings, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2019-04-29  0:09 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel

On Sun, Apr 28, 2019 at 4:49 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> It is for high availability - we have situations where the hardware
> can fault and needs some kind of destructive recovery. For instance a
> firmware reboot, or a VM migration.
>
> In these designs there may be multiple cards in the system and the
> userspace application could be using both. Just because one card
> crashed we can't send SIGBUS and kill the application, that breaks the
> HA design.

Why can't this magical application that is *so* special that it is HA
and does magic mmap's of special rdma areas just catch the SIGBUS?

Honestly, the whole "it's for HA" excuse stinks. It stinks because you
now silently just replace the mapping with *garbage*. That's not HA,
that's just random.

Wouldn't it be a lot better to just get the SIGBUS, and then that
magical application knows that "oh, it's gone", and it could - in its
SIGBUS handler - just do the dummy anonymous mmap() with /dev/zero it
if it wants to?

Whatever. It really sounds like this is yet another horrible back for
bad interfaces for all these "super-special high-end enterprise
people".

I hope that some day enterprise people will wake up and realize that
"enterprise" seems to be often a code name for "lots of random hacks".

                    Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-28 16:59 ` Linus Torvalds
@ 2019-04-28 23:49   ` Jason Gunthorpe
  2019-04-29  0:09     ` Linus Torvalds
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-04-28 23:49 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, linux-kernel

On Sun, Apr 28, 2019 at 09:59:56AM -0700, Linus Torvalds wrote:
> On Sun, Apr 28, 2019 at 4:52 AM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > Nothing particularly special here. There is a small merge conflict
> > with Adrea's mm_still_valid patches which is resolved as below:
> 
> I still don't understand *why* you play the crazy VM games to begin with.
> 
> What's wrong with just returning SIGBUS? Why does that
> rdma_umap_fault() not just look like this one-liner:
> 
>         return VM_FAULT_SIGBUS;
> 
> without the crazy parts? Nobody ever explained why you'd want to have
> that silly "let's turn it into a bogus anonymous mapping".

There was a big thread where I went over the use case with Andrea, but
I guess that was private..

It is for high availability - we have situations where the hardware
can fault and needs some kind of destructive recovery. For instance a
firmware reboot, or a VM migration.

In these designs there may be multiple cards in the system and the
userspace application could be using both. Just because one card
crashed we can't send SIGBUS and kill the application, that breaks the
HA design.

So.. the kernel makes the BAR VMA into a 'dummy' and sends an async
notification to the application. The use of the BAR memory by
userspace is all 'write only' so it doesn't really care. When it sees
the async notification it safely cleans up the userspace side of
things.

An more modern VM example of where this gets used is on VM systems
using SRIO-V pass through of a raw RDMA device. When it is time to
migrate the VM then the hypervisor causes the SRIO-V instance to fault
and be removed from the guest kernel, then migrates and attaches a new
RDMA SRIO-V instance. The user space is expected to see the failure,
maintain state, then recover onto the new device.

The only alternative that has come up would be to delay the kernel
side until the application cleans up and deletes the VMA, but people
generally don't like this as it degrades the recovery time and has the
usual problems with blocking the kernel on userspace.

When this was created I'm not sure people explored more creative ideas
like trying to handle/ignore the SIGBUS in userspace - unfortunately
it has been so long now that we are probably stuck doing this as part
of the UAPI.

I've been trying to make it less crufty over the last year based on
remarks from yourself and Andrea, but I'm still stuck with this basic
requirement that the VMA shouldn't fault or touch the BAR after the
hardware is released by the kernel.

Thanks,
Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-28 11:52 Jason Gunthorpe
  2019-04-28 16:59 ` Linus Torvalds
@ 2019-04-28 18:05 ` pr-tracker-bot
  2019-04-29  6:09 ` Heiko Carstens
  2 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-04-28 18:05 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Sun, 28 Apr 2019 11:52:12 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/14f974d7f0f1f93d8c35f496ae774ba0f1b3389a

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-28 11:52 Jason Gunthorpe
@ 2019-04-28 16:59 ` Linus Torvalds
  2019-04-28 23:49   ` Jason Gunthorpe
  2019-04-28 18:05 ` pr-tracker-bot
  2019-04-29  6:09 ` Heiko Carstens
  2 siblings, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2019-04-28 16:59 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel

On Sun, Apr 28, 2019 at 4:52 AM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> Nothing particularly special here. There is a small merge conflict
> with Adrea's mm_still_valid patches which is resolved as below:

I still don't understand *why* you play the crazy VM games to begin with.

What's wrong with just returning SIGBUS? Why does that
rdma_umap_fault() not just look like this one-liner:

        return VM_FAULT_SIGBUS;

without the crazy parts? Nobody ever explained why you'd want to have
that silly "let's turn it into a bogus anonymous mapping".

I've pulled this, but why do the rdma and SCSI people always do these
strange and pointless things?

                  Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-04-28 11:52 Jason Gunthorpe
  2019-04-28 16:59 ` Linus Torvalds
                   ` (2 more replies)
  0 siblings, 3 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2019-04-28 11:52 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3181 bytes --]

Hi Linus,

Third rc pull request

Nothing particularly special here. There is a small merge conflict
with Adrea's mm_still_valid patches which is resolved as below:

diff --cc drivers/infiniband/core/uverbs_main.c
index db20b6e0f253c9,f2e7ffe6fc5466..7843e89235c34b
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@@ -1039,7 -992,9 +1039,9 @@@ void uverbs_user_mmap_disassociate(stru
  		 * at a time to get the lock ordering right. Typically there
  		 * will only be one mm, so no big deal.
  		 */
 -		down_write(&mm->mmap_sem);
 +		down_read(&mm->mmap_sem);
+ 		if (!mmget_still_valid(mm))
+ 			goto skip_mm;
  		mutex_lock(&ufile->umap_lock);
  		list_for_each_entry_safe (priv, next_priv, &ufile->umaps,
  					  list) {
@@@ -1051,9 -1006,11 +1053,10 @@@
  
  			zap_vma_ptes(vma, vma->vm_start,
  				     vma->vm_end - vma->vm_start);
 -			vma->vm_flags &= ~(VM_SHARED | VM_MAYSHARE);
  		}
  		mutex_unlock(&ufile->umap_lock);
+ 	skip_mm:
 -		up_write(&mm->mmap_sem);
 +		up_read(&mm->mmap_sem);
  		mmput(mm);
  	}
  }

The tag for-linus-merged with my merge resolution to your tree is also available to pull.

Thanks,
Jason

The following changes since commit dc4060a5dc2557e6b5aa813bf5b73677299d62d2:

  Linux 5.1-rc5 (2019-04-14 15:17:41 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 2557fabd6e29f349bfa0ac13f38ac98aa5eafc74:

  RDMA/hns: Bugfix for mapping user db (2019-04-25 10:40:04 -0300)

----------------------------------------------------------------
5.1 Third RC pull request

One core bug fix and a few driver ones

- FRWR memory registration for hfi1/qib didn't work with with some iovas
  causing a NFSoRDMA failure regression due to a fix in the NFS side

- A command flow error in mlx5 allowed user space to send a corrupt
  command (and also smash the kernel stack we've since learned)

- Fix a regression and some bugs with device hot unplug that was
  discovered while reviewing Andrea's patches

- hns has a failure if the user asks for certain QP configurations

----------------------------------------------------------------
Guy Levi (1):
      IB/mlx5: Fix scatter to CQE in DCT QP creation

Jason Gunthorpe (3):
      RDMA/mlx5: Do not allow the user to write to the clock page
      RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
      RDMA/ucontext: Fix regression with disassociate

Josh Collier (1):
      IB/rdmavt: Fix frwr memory registration

Lijun Ou (1):
      RDMA/hns: Bugfix for mapping user db

 drivers/infiniband/core/uverbs.h        |  1 +
 drivers/infiniband/core/uverbs_main.c   | 52 +++++++++++++++++++++++++++++++--
 drivers/infiniband/hw/hns/hns_roce_qp.c |  2 +-
 drivers/infiniband/hw/mlx5/main.c       | 12 ++++----
 drivers/infiniband/hw/mlx5/qp.c         | 11 ++++---
 drivers/infiniband/sw/rdmavt/mr.c       | 17 ++++++-----
 include/uapi/rdma/mlx5-abi.h            |  1 +
 7 files changed, 76 insertions(+), 20 deletions(-)
(diffstat from tag for-linus-merged)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-04-10 18:46 Jason Gunthorpe
@ 2019-04-10 19:55 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-04-10 19:55 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Wed, 10 Apr 2019 18:46:23 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/582549e3fbe137eb6ce9be591aca25c2222a36b4

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-04-10 18:46 Jason Gunthorpe
  2019-04-10 19:55 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-04-10 18:46 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2213 bytes --]

Hi Linus,

Second rc pull request

The following changes since commit 8c2ffd9174779014c3fe1f96d9dc3641d9175f00:

  Linux 5.1-rc2 (2019-03-24 14:02:26 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to d737b25b1ae0540ba13cbd45ebb9b58a1d6d7f0d:

  IB/hfi1: Do not flush send queue in the TID RDMA second leg (2019-04-10 15:09:30 -0300)

----------------------------------------------------------------
5.1 Second RC pull request

Several driver bug fixes posted in the last several weeks

- Several bug fixes for the hfi1 driver 'TID RDMA' functionality merged
  into 5.1. Since TID RDMA is on by default these all seem to be
  regressions.

- Wrong software permission checks on memory in mlx5

- Memory leak in vmw_pvrdma during driver remove

- Several bug fixes for hns driver features merged into 5.1

----------------------------------------------------------------
Kaike Wan (5):
      IB/hfi1: Failed to drain send queue when QP is put into error state
      IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state
      IB/hfi1: Eliminate opcode tests on mr deref
      IB/hfi1: Fix the allocation of RSM table
      IB/hfi1: Do not flush send queue in the TID RDMA second leg

Kamal Heib (1):
      RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove

Lijun Ou (1):
      RDMA/hns: Fix bug that caused srq creation to fail

Moni Shoua (1):
      IB/mlx5: Reset access mask when looping inside page fault handler

Yangyang Li (1):
      RDMA/hns: Bugfix for SCC hem free

 drivers/infiniband/hw/hfi1/chip.c              | 26 +++++++++++++++------
 drivers/infiniband/hw/hfi1/qp.c                |  4 +++-
 drivers/infiniband/hw/hfi1/rc.c                |  4 ++--
 drivers/infiniband/hw/hfi1/tid_rdma.c          | 31 +++++++-------------------
 drivers/infiniband/hw/hns/hns_roce_hem.c       |  6 +++--
 drivers/infiniband/hw/hns/hns_roce_mr.c        |  4 ++--
 drivers/infiniband/hw/hns/hns_roce_qp.c        |  3 ---
 drivers/infiniband/hw/mlx5/odp.c               |  3 ++-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c |  2 ++
 9 files changed, 42 insertions(+), 41 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-03-18  1:04 Jason Gunthorpe
@ 2019-03-19 18:15 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-03-19 18:15 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Mon, 18 Mar 2019 01:04:12 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/01c8d80383d9076ab4fbebc3e60ae9abc70f70d5

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-03-18  1:04 Jason Gunthorpe
  2019-03-19 18:15 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-03-18  1:04 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1830 bytes --]

Hi Linus,

First rc pull request - nothing too special, just some driver bug
fixes that have been sitting during the merge window.

Thanks,
Jason

The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b:

  Linux 5.1-rc1 (2019-03-17 14:22:26 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to ec4fe4bcc584b55e24e8d1768f5510a62c0fd619:

  i40iw: Avoid panic when handling the inetdev event (2019-03-17 21:40:40 -0300)

----------------------------------------------------------------
5.1 First RC pull request

Several driver bug fixes post in the last three weeks

- First part of a race condition fix in mlx4 with CATAS errors

- Bad interaction with FW causing resource leaks in the mlx5 DCT flow

- Bad reporting of link speed/width in new mlx5 devices

- Userspace triggable OOPs in i40iw

----------------------------------------------------------------
Aya Levin (1):
      IB/mlx5: Fix mapping of link-mode to IB width and speed

Feng Tang (1):
      i40iw: Avoid panic when handling the inetdev event

Jack Morgenstein (1):
      IB/mlx4: Fix race condition between catas error reset and aliasguid flows

Yishai Hadas (2):
      net/mlx5: Fix DCT creation bad flow
      IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT

 drivers/infiniband/hw/i40iw/i40iw_utils.c    | 12 ++++-
 drivers/infiniband/hw/mlx4/alias_GUID.c      |  2 +-
 drivers/infiniband/hw/mlx5/devx.c            | 34 +++++++++----
 drivers/infiniband/hw/mlx5/main.c            |  7 +++
 drivers/infiniband/hw/mlx5/qp.c              |  4 +-
 drivers/net/ethernet/mellanox/mlx5/core/qp.c | 72 +++++++++++++++-------------
 include/linux/mlx5/qp.h                      |  3 +-
 7 files changed, 89 insertions(+), 45 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-03-07  1:34 Jason Gunthorpe
@ 2019-03-10  1:40 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-03-10  1:40 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Thu, 7 Mar 2019 01:34:16 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/a50243b1ddcdd766d0d17fbfeeb1a22e62fdc461

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-03-07  1:34 Jason Gunthorpe
  2019-03-10  1:40 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-03-07  1:34 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 37100 bytes --]

Hi Linus,

These are the proposed RDMA patches for 5.1.

There is a small conflict with the net tree in
drivers/infiniband/hw/mlx4/Kconfig that is resolved by deleting both
lines. There may also be conflicts with Matt's xarray tree that
changes some of the xarray APIs. RDMA has gained some new users of
those APIs this cycle.

Looking at the patchworks I'm thinking we might have a second merge
window pull request with some bug fixes and other rcish things that
were sent a little too late for this.

The next merge window may also see up to three new RDMA drivers, which
is quite unusual.

Thanks,
Jason

The tag for-linus-merged with my merge resolution to your tree is also available to pull.

The following changes since commit 08e8676f1607925adf36e399f0faa8ce3b10bb86:

  IB/mlx5: Add support for 50Gbps per lane link modes (2019-02-14 12:14:42 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to fca22e7e595f1799cfbfdfa13e16d48ece0d136c:

  net/mlx5: ODP support for XRC transport is not enabled by default in FW (2019-03-06 15:53:09 -0400)

----------------------------------------------------------------
5.1 Merge Window Pull Request

This has been a slightly more active cycle than normal with ongoing core
changes and quite a lot of collected driver updates.

- Various driver fixes for bnxt_re, cxgb4, hns, mlx5, pvrdma, rxe

- A new data transfer mode for HFI1 giving higher performance

- Significant functional and bug fix update to the mlx5 On-Demand-Paging MR
  feature

- A chip hang reset recovery system for hns

- Change mm->pinned_vm to an atomic64

- Update bnxt_re to support a new 57500 chip

- A sane netlink 'rdma link add' method for creating rxe devices and fixing
  the various unregistration race conditions in rxe's unregister flow

- Allow lookup up objects by an ID over netlink

- Various reworking of the core to driver interface:
  * Drivers should not assume umem SGLs are in PAGE_SIZE chunks
  * ucontext is accessed via udata not other means
  * Start to make the core code responsible for object memory
    allocation
  * Drivers should convert struct device to struct ib_device
    via a helper
  * Drivers have more tools to avoid use after unregister problems

----------------------------------------------------------------
Adit Ranadive (1):
      RDMA/vmw_pvrdma: Support upto 64-bit PFNs

Bart Van Assche (5):
      IB/core: Declare local functions 'static'
      IB/mlx5: Declare local functions 'static'
      RDMA/srp: Increase max_segment_size
      IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len()
      IB/mlx5: Do not use hw_access_flags for be and CPU data

Colin Ian King (2):
      RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member
      RDMA: Fix allocation failure on pointer pd

Dan Carpenter (2):
      RDMA/bnxt_re: fix a size calculation
      RDMA/core: Fix a WARN() message

Daniel Jurgens (4):
      IB/core: Unregister notifier before freeing MAD security
      IB/core: Fix potential memory leak while creating MAD agents
      IB/core: Eliminate a hole in MAD agent struct
      IB/core: Don't register each MAD agent for LSM notifier

Danit Goldberg (1):
      IB/cma: Define option to set ack timeout and pack tos_set

Davidlohr Bueso (8):
      mm: make mm->pinned_vm an atomic64 counter
      drivers/mic/scif: do not use mmap_sem
      drivers/IB,qib: optimize mmap_sem usage
      drivers/IB,hfi1: do not se mmap_sem
      drivers/IB,usnic: reduce scope of mmap_sem
      drivers/IB,core: reduce scope of mmap_sem
      Documentation/infiniband: update from locked to pinned_vm
      drivers/IB,qib: Fix pinned/locked limit check in qib_get_user_pages()

Devesh Sharma (9):
      RDMA/bnxt_re: Add chip context to identify 57500 series
      RDMA/bnxt_re: Add 64bit doorbells for 57500 series
      RDMA/bnxt_re: Skip backing store allocation for 57500 series
      RDMA/bnxt_re: Enable GSI QP support for 57500 series
      RDMA/bnxt_re: Add extended psn structure for 57500 adapters
      RDMA/bnxt_re: Update kernel user abi to pass chip context
      RDMA/bnxt_en: Enable RDMA driver support for 57500 chip
      bnxt_re: fix the regression due to changes in alloc_pbl
      bnxt_re: Clean cq for kernel consumers only

Doug Ledford (6):
      Merge branch 'opfn' into hfi1-tid
      Merge branch 'tid-read' into hfi1-tid
      Merge branch 'tid-write' into hfi1-tid
      Merge branch 'hfi1-tid' into wip/dl-for-next
      Merge branch 'wip/dl-for-next' into for-next
      Merge branch 'for-next' of git://git.kernel.org/.../rdma/rdma into for-next

Erez Alfasi (1):
      IB/ipoib: Use __func__ instead of function's name

Gal Pressman (6):
      IB/usnic: Fix out of bounds index check in query pkey
      RDMA/ocrdma: Fix out of bounds index check in query pkey
      RDMA/qedr: Fix out of bounds index check in query pkey
      RDMA: Add indication for in kernel API support to IB device
      IB/usnic: Remove stub functions
      IB/mlx5: Simplify WQE count power of two check

Greg Kroah-Hartman (8):
      infiniband: cxgb4: no need to check return value of debugfs_create functions
      infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro
      infiniband: hfi1: no need to check return value of debugfs_create functions
      infiniband: qib: no need to check return value of debugfs_create functions
      infiniband: mlx5: no need to check return value of debugfs_create functions
      infiniband: ocrdma: no need to check return value of debugfs_create functions
      infiniband: usnic: no need to check return value of debugfs_create functions
      infiniband: ipoib: no need to check return value of debugfs_create functions

Gustavo A. R. Silva (6):
      IB/cm: Use struct_size() in kmalloc()
      IB/usnic: Use struct_size() in kmalloc()
      IB/core: Use struct_size() in kzalloc()
      IB/srp: Use struct_size() in kzalloc()
      RDMA/mlx5: Replace kzalloc with kcalloc
      IB/hfi1: Add missing break in switch statement

Håkon Bugge (1):
      IB/mlx4: Increase the timeout for CM cache

Ira Weiny (1):
      RDMA/qib: Use GUP longterm for PSM page pining

Israel Rukshin (1):
      IB/iser: Pass the correct number of entries for dma mapped SGL

Jason Gunthorpe (27):
      IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
      RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
      RDMA/iw_cxgb4: Drop __GFP_NOFAIL
      Merge branch 'devx-async' into k.o/for-next
      Merge branch 'mlx5-next into rdma.git for-next
      Merge tag 'v5.0-rc5' into rdma.git for-next
      RDMA/device: Check that the rename is nop under the lock
      RDMA/device: Ensure that security memory is always freed
      RDMA/device: Call ib_cache_release_one() only from ib_device_release()
      RDMA/device: Get rid of reg_state
      RDMA/device: Use an ida instead of a free page in alloc_name
      RDMA/devices: Use xarray to store the clients
      RDMA/devices: Use xarray to store the client_data
      RDMA/devices: Re-organize device.c locking
      lib/scatterlist: Provide a DMA page iterator
      RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
      RDMA: Add and use rdma_for_each_port
      RDMA/device: Consolidate ib_device per_port data into one place
      RDMA/cache: Move the cache per-port data into the main ib_port_data
      RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
      RDMA/device: Add ib_device_get_by_netdev()
      RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
      RDMA/device: Provide APIs from the core code to help unregistration
      RDMA/rxe: Use driver_unregister and new unregistration API
      RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
      RDMA/rxe: Close a race after ib_register_device
      Merge branch 'mlx5-next' into rdma.git for-next

John Hubbard (2):
      RDMA/umem: minor bug fix in error handling path
      RDMA/umem: Revert broken 'off by one' fix

Kaike Wan (46):
      IB/hfi1: Add OPFN helper functions for TID RDMA feature
      IB/hfi1: OPFN interface
      IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue
      IB/hfi1: Integrate OPFN into RC transactions
      IB/hfi1: Add static trace for OPFN
      IB/hfi: Move RC functions into a header file
      IB/hfi1: TID RDMA flow allocation
      IB/hfi1: TID RDMA RcvArray programming and TID allocation
      IB/hfi1: Add the counter n_tidwait
      IB/hfi1: Add static trace for flow and TID management functions
      IB/hfi1: Add functions to build TID RDMA READ request
      IB/hfi1: Set PbcInsertHcrc for TID RDMA packets
      IB/hfi1: Add functions to receive TID RDMA READ request
      IB/hfi1: Add a function to build TID RDMA READ response
      IB/hfi1: Add functions to receive TID RDMA READ response
      IB/hfi1: Add TID RDMA handlers
      IB/hfi1: Add functions for restarting TID RDMA READ request
      IB/hfi1: Increment the retry timeout value for TID RDMA READ request
      IB/hfi1: Integrate TID RDMA READ protocol into RC protocol
      IB/hfi1: Add interlock between a TID RDMA request and other requests
      IB/hfi1: Enable TID RDMA READ protocol
      IB/hfi1: Add static trace for TID RDMA READ protocol
      IB/hfi1: Build TID RDMA WRITE request
      IB/hfi1: Allow for extra entries in QP's s_ack_queue
      IB/hfi1: Add an s_acked_ack_queue pointer
      IB/hfi1: Add functions to receive TID RDMA WRITE request
      IB/hfi1: Add a function to build TID RDMA WRITE response
      IB/hfi1: Add TID resource timer
      IB/hfi1: Add a function to receive TID RDMA WRITE response
      IB/hfi1: Add a function to build TID RDMA WRITE DATA packet
      IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet
      IB/hfi1: Add a function to build TID RDMA ACK packet
      IB/hfi1: Add a function to receive TID RDMA ACK packet
      IB/hfi1: Add TID RDMA retry timer
      IB/hfi1: Add a function to build TID RDMA RESYNC packet
      IB/hfi1: Add a function to receive TID RDMA RESYNC packet
      IB/hfi1: Resend the TID RDMA WRITE DATA packets
      IB/hfi1: Add the TID second leg send packet builder
      IB/hfi1: Add the TID second leg ACK packet builder
      IB/hfi1: Add the dual leg code
      IB/hfi1: Add TID RDMA WRITE functionality into RDMA verbs
      IB/hfi1: Add interlock between TID RDMA WRITE and other requests
      IB/hfi1: Enable TID RDMA WRITE protocol
      IB/hfi1: Add static trace for TID RDMA WRITE protocol
      IB/hfi1: Prioritize the sending of ACK packets
      IB/hfi1: Fix a build warning for TID RDMA READ

Kamal Heib (5):
      IB/ipoib: Make ipoib_intercept_dev_id_attr() static
      IB/mlx5: Make mlx5_ib_stage_odp_cleanup() static
      IB/mlx5: Remove set but not used variable
      RDMA/rxe: Move rxe_init_av() to rxe_av.c
      RDMA/rxe: Improve loopback marking

Leon Romanovsky (35):
      RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
      RDMA/core: Don't depend device ODP capabilities on kconfig option
      RDMA/mlx5: Introduce and reuse helper to identify ODP MR
      RDMA/mlx5: Embed into the code flow the ODP config option
      RDMA/mlx5: Delete declaration of already removed function
      RDMA: Clear PD objects during their allocation
      RDMA: Clear CQ objects during their allocation
      RDMA: Clear CTX objects during their allocation
      RDMA: Provide safe ib_alloc_device() function
      RDMA/nldev: Dynamically generate restrack dumpit callbacks
      RDMA/nldev: Factor out the PID namespace check
      RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
      RDMA/core: Simplify restrack interface
      RDMA/restrack: Refactor user/kernel restrack additions
      RDMA/core: Use the ops infrastructure to keep all callbacks in one place
      RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
      RDMA/core: Share driver structure size with core
      RDMA: Handle PD allocations by IB/core
      RDMA/nes: Remove useless usecnt variable and redundant memset
      RDMA/cxgb4: Remove kref accounting for sync operation
      RDMA/restrack: Convert internal DB from hash to XArray
      RDMA/restrack: Translate from ID to restrack object
      RDMA/nldev: Add resource tracker doit callback
      RDMA/restrack: Reduce scope of synchronization lock while updating DB
      RDMA/restrack: Hide restrack DB from IB/core
      net/mlx5: Factor out HCA capabilities functions
      RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
      RDMA/nldev: Share with user-space object IDs
      RDMA/nldev: Provide parent IDs for PD, MR and QP objects
      RDMA/nldev: Connect QP number to .doit callback
      RDMA/nldev: Don't expose number of not-visible entries
      RDMA/iwcm: Fix string truncation error
      RDMA/uverbs: Store PR pointer before it is overwritten
      RDMA: Handle ucontext allocations by IB/core
      RDMA/uverbs: Don't do double free of allocated PD

Lijun Ou (7):
      RDMA/hns: Fix the bug with updating rq head pointer when flush cqe
      RDMA/hns: Bugfix for the scene without receiver queue
      RDMA/hns: Add constraint on the setting of local ACK timeout
      RDMA/hns: Modify the pbl ba page size for hip08
      RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db
      RDMA/hns: Configure capacity of hns device
      RDMA/hns: Modify qp&cq&pd specification according to UM

Maor Gottlieb (1):
      IB/mlx5: Don't override existing ip_protocol

Mark Bloch (1):
      RDMA/mlx5: Fix memory leak in case we fail to add an IB device

Masahiro Yamada (2):
      infiniband: remove unneeded header search paths
      infiniband: prefix header search paths with $(srctree)/

Max Gurtovoy (1):
      IB/iser: Fix dma_nents type definition

Michael J. Ruhl (4):
      IB/{hfi1,qib}: Cleanup open coded sge sizing
      IB/{hfi1, qib, rvt} Cleanup open coded sge usage
      IB/rdmavt: Fix concurrency panics in QP post_send and modify to error
      IB/hfi1: Close race condition on user context disable and close

Mike Marciniszyn (2):
      IB/rdmavt: Add wc_flags and wc_immdata to cq entry trace
      IB/rdmavt: Fix loopback send with invalidate ordering

Mitko Haralanov (1):
      IB/hfi1: OPFN support discovery

Moni Shoua (17):
      IB/mlx5: Ranges in implicit ODP MR inherit its write access
      IB/mlx5: Remove dead code
      IB/mlx5: Fix the locking of SRQ objects in ODP events
      IB/core: Allocate a bit for SRQ ODP support
      IB/uverbs: Expose XRC ODP device capabilities
      IB/mlx5: Remove useless check in ODP handler
      IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
      IB/mlx5: Add XRC initiator ODP support
      IB/mlx5: Let read user wqe also from SRQ buffer
      IB/mlx5: Add ODP SRQ support
      IB/mlx5: Advertise SRQ ODP support for supported transports
      IB/mlx5: Advertise XRC ODP support
      IB/mlx5: Protect against prefetch of invalid MR
      IB/mlx5: Validate correct PD before prefetch MR
      IB/core: Abort page fault handler silently during owning process exit
      IB/mlx5: Set correct write permissions for implicit ODP MR
      net/mlx5: ODP support for XRC transport is not enabled by default in FW

Myungho Jung (1):
      RDMA/cma: Rollback source IP address if failing to acquire device

Noa Osherovich (1):
      RDMA/core: Verify that memory window type is legal

Parav Pandit (9):
      RDMA: Rename port_callback to init_port
      RDMA: Introduce and use rdma_device_to_ibdev()
      IB/core: Simplify rdma cgroup registration
      IB/umad: Avoid additional device reference during open()/close()
      IB/umad: Do not check status of nonseekable_open()
      IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
      RDMA/core: Use simpler device_del() instead of device_unregister()
      RDMA/core: Introduce and use ib_setup_port_attrs()
      RDMA/core: Move device addition deletion to device.c

Parvi Kaustubhi (2):
      IB/usnic: Fix locking when unregistering
      IB/usnic: Fix deadlock

Potnuri Bharat Teja (1):
      iw_cxgb4: Check for send WR also while posting write with completion WR

Raju Rangoju (4):
      RDMA/iw_cxgb4: Fix the unchecked ep dereference
      cxgb4: add tcb flags and tcb rpl struct
      iw_cxgb4: complete the cached SRQ buffers
      iw_cxgb4: fix srqidx leak during connection abort

Shamir Rabinovitch (4):
      IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
      IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows
      IB/verbs: Add helper function rdma_udata_to_drv_context
      IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs

Shaobo He (1):
      cxgb4: kfree mhp after the debug print

Shiraz, Saleem (12):
      RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL
      RDMA/rxe: Use for_each_sg_page iterator on umem SGL
      RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs
      RDMA/nes: Use for_each_sg_dma_page iterator for umem SGL

Steve Wise (12):
      iw_cxgb*: kzalloc the iwcm verbs struct
      RDMA/IWPM: refactor the IWPM message attribute names
      RDMA/IWPM: Support no port mapping requirements
      RDMA/iwpm: move kdoc comments to functions
      RDMA/cma: listening device cm_ids should inherit tos
      RDMA/iwcm: add tos_set bool to iw_cm struct
      iw_cxgb4: use listening ep tos when accepting new connections
      iw_cxgb4: use tos when importing the endpoint
      iw_cxgb4: use tos when finding ipv6 routes
      RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
      rdma_rxe: Use netlink messages to add/delete links
      lib/irq_poll: Support schedules in non-interrupt contexts

Wei Hu (Xavier) (3):
      RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs
      RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset
      RDMA/hns: Fix the chip hanging caused by sending doorbell during reset

Wei Yongjun (1):
      iw_cxgb4: Make function read_tcb() static

Xiaofei Tan (1):
      RDMA/hns: Add the process of AEQ overflow for hip08

Yangyang Li (4):
      RDMA/hns: Add SCC context allocation support for hip08
      RDMA/hns: Add SCC context clr support for hip08
      RDMA/hns: Add timer allocation support for hip08
      RDMA/hns: Bugfix for set hem of SCC

Yishai Hadas (8):
      IB/mlx5: DEVX handling for indirection MKEY
      IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
      IB/mlx5: Add support for ODP for DEVX indirection mkey
      IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
      IB/mlx5: Introduce async DEVX obj query API
      IB/mlx5: Implement the file ops of DEVX async command FD
      IB/mlx5: Implement DEVX hot unplug for async command FD
      IB/mlx5: Fix bad flow upon DEVX mkey creation

Yixian Liu (3):
      RDMA/hns: Fix the state of rereg mr
      RDMA/hns: Set allocated memory to zero for wrid
      RDMA/hns: Delete useful prints for aeq subtype event

YueHaibing (6):
      RDMA/qedr: remove set but not used variable 'ib_ctx'
      IB/hw: Remove unneeded semicolons
      RDMA/hns: Remove set but not used variable 'rst'
      RDMA/hns: Make some function static
      RDMA/iwpm: Remove set but not used variable 'msg_seq'
      RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp

Yuval Avnery (1):
      IB/core: Destroy QP if XRC QP fails

Yuval Shaia (1):
      RDMA/core: Cosmetic change - move member initialization to correct block

Zhu Yanjun (1):
      IB/rxe: Remove unnecessary rxe variable

chenglang (1):
      RDMA/hns: Limit minimum ROCE CQ depth to 64

 .clang-format                                     |    2 +
 Documentation/infiniband/user_verbs.txt           |    4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c        |    8 +-
 drivers/infiniband/Kconfig                        |   15 +-
 drivers/infiniband/core/Makefile                  |    4 +-
 drivers/infiniband/core/cache.c                   |  118 +-
 drivers/infiniband/core/cgroup.c                  |    5 +-
 drivers/infiniband/core/cm.c                      |    3 +-
 drivers/infiniband/core/cma.c                     |  139 +-
 drivers/infiniband/core/cma_priv.h                |    4 +-
 drivers/infiniband/core/core_priv.h               |   35 +-
 drivers/infiniband/core/device.c                  | 1323 +++--
 drivers/infiniband/core/iwcm.c                    |   13 +-
 drivers/infiniband/core/iwpm_msg.c                |  232 +-
 drivers/infiniband/core/iwpm_util.c               |   86 +-
 drivers/infiniband/core/iwpm_util.h               |   12 +
 drivers/infiniband/core/mad.c                     |    4 +-
 drivers/infiniband/core/netlink.c                 |    4 +-
 drivers/infiniband/core/nldev.c                   |  492 +-
 drivers/infiniband/core/rdma_core.c               |   42 +-
 drivers/infiniband/core/restrack.c                |  210 +-
 drivers/infiniband/core/restrack.h                |   28 +
 drivers/infiniband/core/rw.c                      |   12 +-
 drivers/infiniband/core/sa_query.c                |    4 +-
 drivers/infiniband/core/security.c                |   96 +-
 drivers/infiniband/core/sysfs.c                   |   93 +-
 drivers/infiniband/core/ucma.c                    |    7 +
 drivers/infiniband/core/umem.c                    |   60 +-
 drivers/infiniband/core/umem_odp.c                |   21 +-
 drivers/infiniband/core/user_mad.c                |   52 +-
 drivers/infiniband/core/uverbs_cmd.c              |   69 +-
 drivers/infiniband/core/uverbs_ioctl.c            |    3 +
 drivers/infiniband/core/uverbs_main.c             |    2 +
 drivers/infiniband/core/uverbs_std_types.c        |    2 +-
 drivers/infiniband/core/uverbs_uapi.c             |   15 +-
 drivers/infiniband/core/verbs.c                   |   73 +-
 drivers/infiniband/hw/bnxt_re/Kconfig             |    1 +
 drivers/infiniband/hw/bnxt_re/Makefile            |    2 +-
 drivers/infiniband/hw/bnxt_re/bnxt_re.h           |    1 +
 drivers/infiniband/hw/bnxt_re/ib_verbs.c          |  268 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h          |   16 +-
 drivers/infiniband/hw/bnxt_re/main.c              |  134 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c          |  193 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h          |   47 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c        |   40 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h        |   45 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.c         |   22 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.h         |   30 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c          |    3 +-
 drivers/infiniband/hw/bnxt_re/roce_hsi.h          |  160 +-
 drivers/infiniband/hw/cxgb3/Makefile              |    2 +-
 drivers/infiniband/hw/cxgb3/iwch.c                |    2 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c       |   95 +-
 drivers/infiniband/hw/cxgb4/Makefile              |    4 +-
 drivers/infiniband/hw/cxgb4/cm.c                  |  199 +-
 drivers/infiniband/hw/cxgb4/device.c              |   10 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h            |   16 +-
 drivers/infiniband/hw/cxgb4/mem.c                 |   36 +-
 drivers/infiniband/hw/cxgb4/provider.c            |   85 +-
 drivers/infiniband/hw/cxgb4/qp.c                  |   33 +-
 drivers/infiniband/hw/cxgb4/t4.h                  |    1 +
 drivers/infiniband/hw/hfi1/Makefile               |    1 +
 drivers/infiniband/hw/hfi1/chip.c                 |   13 +
 drivers/infiniband/hw/hfi1/chip.h                 |    4 +-
 drivers/infiniband/hw/hfi1/common.h               |    4 +
 drivers/infiniband/hw/hfi1/debugfs.c              |   58 +-
 drivers/infiniband/hw/hfi1/debugfs.h              |   12 -
 drivers/infiniband/hw/hfi1/driver.c               |   58 +-
 drivers/infiniband/hw/hfi1/fault.c                |   53 +-
 drivers/infiniband/hw/hfi1/hfi.h                  |   24 +-
 drivers/infiniband/hw/hfi1/init.c                 |   35 +-
 drivers/infiniband/hw/hfi1/iowait.c               |   34 +-
 drivers/infiniband/hw/hfi1/iowait.h               |   99 +-
 drivers/infiniband/hw/hfi1/opfn.c                 |  323 ++
 drivers/infiniband/hw/hfi1/opfn.h                 |   85 +
 drivers/infiniband/hw/hfi1/pio.c                  |   18 +-
 drivers/infiniband/hw/hfi1/qp.c                   |   76 +-
 drivers/infiniband/hw/hfi1/qp.h                   |    7 +
 drivers/infiniband/hw/hfi1/rc.c                   | 1141 ++++-
 drivers/infiniband/hw/hfi1/rc.h                   |   51 +
 drivers/infiniband/hw/hfi1/ruc.c                  |   48 +-
 drivers/infiniband/hw/hfi1/sdma.c                 |   24 +-
 drivers/infiniband/hw/hfi1/sdma_txreq.h           |    1 +
 drivers/infiniband/hw/hfi1/sysfs.c                |   16 +-
 drivers/infiniband/hw/hfi1/tid_rdma.c             | 5418 +++++++++++++++++++++
 drivers/infiniband/hw/hfi1/tid_rdma.h             |  311 +-
 drivers/infiniband/hw/hfi1/trace.c                |  118 +
 drivers/infiniband/hw/hfi1/trace.h                |    1 +
 drivers/infiniband/hw/hfi1/trace_ibhdrs.h         |    8 +
 drivers/infiniband/hw/hfi1/trace_rc.h             |   48 +
 drivers/infiniband/hw/hfi1/trace_rx.h             |  107 +-
 drivers/infiniband/hw/hfi1/trace_tid.h            | 1610 ++++++
 drivers/infiniband/hw/hfi1/trace_tx.h             |   18 +-
 drivers/infiniband/hw/hfi1/uc.c                   |    3 +-
 drivers/infiniband/hw/hfi1/ud.c                   |   24 +-
 drivers/infiniband/hw/hfi1/user_exp_rcv.h         |    1 -
 drivers/infiniband/hw/hfi1/user_pages.c           |   12 +-
 drivers/infiniband/hw/hfi1/user_sdma.c            |    9 +-
 drivers/infiniband/hw/hfi1/verbs.c                |  210 +-
 drivers/infiniband/hw/hfi1/verbs.h                |  104 +-
 drivers/infiniband/hw/hfi1/verbs_txreq.h          |    1 +
 drivers/infiniband/hw/hfi1/vnic_sdma.c            |    6 +-
 drivers/infiniband/hw/hns/Kconfig                 |    1 -
 drivers/infiniband/hw/hns/Makefile                |    2 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.c          |   32 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.h          |   12 +
 drivers/infiniband/hw/hns/hns_roce_cq.c           |    9 +-
 drivers/infiniband/hw/hns/hns_roce_db.c           |    6 +-
 drivers/infiniband/hw/hns/hns_roce_device.h       |   63 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c          |   68 +-
 drivers/infiniband/hw/hns/hns_roce_hem.h          |    3 +
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c        |   36 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c        |  596 ++-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h        |   92 +-
 drivers/infiniband/hw/hns/hns_roce_main.c         |   88 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c           |   95 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c           |   25 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c           |   92 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c          |   16 +-
 drivers/infiniband/hw/i40iw/Makefile              |    2 +-
 drivers/infiniband/hw/i40iw/i40iw_utils.c         |    1 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.c         |  137 +-
 drivers/infiniband/hw/mlx4/Kconfig                |    1 -
 drivers/infiniband/hw/mlx4/cm.c                   |    2 +-
 drivers/infiniband/hw/mlx4/cq.c                   |   19 +-
 drivers/infiniband/hw/mlx4/doorbell.c             |    6 +-
 drivers/infiniband/hw/mlx4/main.c                 |   77 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h              |    3 +-
 drivers/infiniband/hw/mlx4/mr.c                   |   13 +-
 drivers/infiniband/hw/mlx4/qp.c                   |   84 +-
 drivers/infiniband/hw/mlx4/srq.c                  |   12 +-
 drivers/infiniband/hw/mlx5/Kconfig                |    1 -
 drivers/infiniband/hw/mlx5/cong.c                 |   15 +-
 drivers/infiniband/hw/mlx5/cq.c                   |   15 +-
 drivers/infiniband/hw/mlx5/devx.c                 |  463 +-
 drivers/infiniband/hw/mlx5/doorbell.c             |    6 +-
 drivers/infiniband/hw/mlx5/ib_rep.c               |    6 +-
 drivers/infiniband/hw/mlx5/main.c                 |  249 +-
 drivers/infiniband/hw/mlx5/mem.c                  |    5 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h              |   41 +-
 drivers/infiniband/hw/mlx5/mr.c                   |  126 +-
 drivers/infiniband/hw/mlx5/odp.c                  |  316 +-
 drivers/infiniband/hw/mlx5/qp.c                   |  308 +-
 drivers/infiniband/hw/mlx5/srq.c                  |   11 +-
 drivers/infiniband/hw/mlx5/srq.h                  |    2 -
 drivers/infiniband/hw/mlx5/srq_cmd.c              |   16 +-
 drivers/infiniband/hw/mthca/mthca_main.c          |    2 +-
 drivers/infiniband/hw/mthca/mthca_provider.c      |  139 +-
 drivers/infiniband/hw/mthca/mthca_qp.c            |   13 +-
 drivers/infiniband/hw/mthca/mthca_srq.c           |   21 +-
 drivers/infiniband/hw/nes/Kconfig                 |    2 +-
 drivers/infiniband/hw/nes/nes_verbs.c             |  313 +-
 drivers/infiniband/hw/nes/nes_verbs.h             |    1 -
 drivers/infiniband/hw/ocrdma/Makefile             |    2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c        |   12 +-
 drivers/infiniband/hw/ocrdma/ocrdma_stats.c       |   67 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c       |  189 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h       |   11 +-
 drivers/infiniband/hw/qedr/main.c                 |    9 +-
 drivers/infiniband/hw/qedr/qedr_iw_cm.c           |    2 +-
 drivers/infiniband/hw/qedr/verbs.c                |  192 +-
 drivers/infiniband/hw/qedr/verbs.h                |   10 +-
 drivers/infiniband/hw/qib/qib_debugfs.c           |   27 +-
 drivers/infiniband/hw/qib/qib_rc.c                |    7 +-
 drivers/infiniband/hw/qib/qib_sdma.c              |   26 +-
 drivers/infiniband/hw/qib/qib_sysfs.c             |   18 +-
 drivers/infiniband/hw/qib/qib_ud.c                |    6 +-
 drivers/infiniband/hw/qib/qib_user_pages.c        |   75 +-
 drivers/infiniband/hw/qib/qib_verbs.c             |   20 +-
 drivers/infiniband/hw/usnic/Makefile              |    2 +-
 drivers/infiniband/hw/usnic/usnic_debugfs.c       |   26 -
 drivers/infiniband/hw/usnic/usnic_ib_main.c       |   57 +-
 drivers/infiniband/hw/usnic/usnic_ib_sysfs.c      |   26 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c      |  114 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h      |   28 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c          |   65 +-
 drivers/infiniband/hw/usnic/usnic_uiom.h          |    1 -
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c      |    2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h |   15 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c    |   12 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c    |   21 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c      |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c      |    6 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c     |    4 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c   |   98 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h   |   12 +-
 drivers/infiniband/sw/rdmavt/mr.c                 |   21 +-
 drivers/infiniband/sw/rdmavt/pd.c                 |   29 +-
 drivers/infiniband/sw/rdmavt/pd.h                 |    7 +-
 drivers/infiniband/sw/rdmavt/qp.c                 |  104 +-
 drivers/infiniband/sw/rdmavt/rc.c                 |   13 +
 drivers/infiniband/sw/rdmavt/srq.c                |    5 +-
 drivers/infiniband/sw/rdmavt/trace_cq.h           |   10 +-
 drivers/infiniband/sw/rdmavt/vt.c                 |   34 +-
 drivers/infiniband/sw/rxe/rxe.c                   |   67 +-
 drivers/infiniband/sw/rxe/rxe.h                   |   16 +-
 drivers/infiniband/sw/rxe/rxe_av.c                |    7 +
 drivers/infiniband/sw/rxe/rxe_comp.c              |    6 +-
 drivers/infiniband/sw/rxe/rxe_loc.h               |    9 +-
 drivers/infiniband/sw/rxe/rxe_mr.c                |   15 +-
 drivers/infiniband/sw/rxe/rxe_net.c               |   97 +-
 drivers/infiniband/sw/rxe/rxe_net.h               |    2 +-
 drivers/infiniband/sw/rxe/rxe_param.h             |    3 +-
 drivers/infiniband/sw/rxe/rxe_pool.c              |   77 +-
 drivers/infiniband/sw/rxe/rxe_pool.h              |    4 +
 drivers/infiniband/sw/rxe/rxe_qp.c                |   15 +-
 drivers/infiniband/sw/rxe/rxe_recv.c              |   12 +-
 drivers/infiniband/sw/rxe/rxe_resp.c              |    3 +-
 drivers/infiniband/sw/rxe/rxe_sysfs.c             |   40 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c             |  103 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h             |    9 +-
 drivers/infiniband/ulp/ipoib/ipoib.h              |    4 +-
 drivers/infiniband/ulp/ipoib/ipoib_fs.c           |    7 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c         |   14 +-
 drivers/infiniband/ulp/iser/iscsi_iser.h          |    2 +-
 drivers/infiniband/ulp/iser/iser_memory.c         |   19 +-
 drivers/infiniband/ulp/isert/Makefile             |    1 -
 drivers/infiniband/ulp/srp/ib_srp.c               |   26 +-
 drivers/infiniband/ulp/srpt/Makefile              |    1 -
 drivers/media/pci/intel/ipu3/ipu3-cio2.c          |    4 +-
 drivers/misc/mic/scif/scif_rma.c                  |   38 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c     |    3 -
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h       |    8 +
 drivers/net/ethernet/chelsio/cxgb4/t4_tcb.h       |   12 +
 drivers/net/ethernet/mellanox/mlx5/core/main.c    |   85 +-
 fs/proc/task_mmu.c                                |    2 +-
 include/linux/cgroup_rdma.h                       |    2 +-
 include/linux/mlx5/driver.h                       |    5 +-
 include/linux/mm_types.h                          |    2 +-
 include/linux/scatterlist.h                       |   49 +-
 include/rdma/ib_hdrs.h                            |   14 +-
 include/rdma/ib_mad.h                             |    5 +-
 include/rdma/ib_umem.h                            |    8 +-
 include/rdma/ib_umem_odp.h                        |   34 +-
 include/rdma/ib_verbs.h                           |  274 +-
 include/rdma/iw_cm.h                              |   16 +-
 include/rdma/iw_portmap.h                         |  144 +-
 include/rdma/rdma_cm.h                            |    1 +
 include/rdma/rdma_netlink.h                       |   11 +
 include/rdma/rdma_vt.h                            |   30 +-
 include/rdma/rdmavt_qp.h                          |   20 +-
 include/rdma/restrack.h                           |   58 +-
 include/rdma/tid_rdma_defs.h                      |  108 +
 include/rdma/uverbs_ioctl.h                       |   18 +
 include/rdma/uverbs_std_types.h                   |   18 +-
 include/rdma/uverbs_types.h                       |    1 +
 include/uapi/rdma/bnxt_re-abi.h                   |   11 +
 include/uapi/rdma/ib_user_verbs.h                 |    2 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h          |   18 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h         |    5 +
 include/uapi/rdma/rdma_netlink.h                  |   74 +-
 include/uapi/rdma/rdma_user_cm.h                  |    4 +
 include/uapi/rdma/rdma_user_rxe.h                 |    3 +-
 kernel/cgroup/rdma.c                              |    5 +-
 kernel/events/core.c                              |    8 +-
 kernel/fork.c                                     |    2 +-
 lib/irq_poll.c                                    |    2 +-
 lib/scatterlist.c                                 |   26 +
 mm/debug.c                                        |    5 +-
 net/rds/ib.h                                      |   12 +-
 net/rds/ib_fmr.c                                  |    8 +-
 net/rds/ib_frmr.c                                 |    4 +-
 net/rds/ib_recv.c                                 |    8 +-
 net/rds/ib_send.c                                 |   15 +-
 264 files changed, 16710 insertions(+), 5014 deletions(-)
(diffstat from tag for-linus-merged)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-02-21 23:07 Jason Gunthorpe
@ 2019-02-22 18:40 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-02-22 18:40 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Thu, 21 Feb 2019 23:07:20 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/168bd29830e8ebbffcd70d2af50249dca088e1a8

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-02-21 23:07 Jason Gunthorpe
  2019-02-22 18:40 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-02-21 23:07 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]

Hi Linus,

Small set of three regression fixing patches, things are looking
pretty good here. Thanks

The following changes since commit 8834f5600cf3c8db365e18a3d5cac2c2780c81e5:

  Linux 5.0-rc5 (2019-02-03 13:48:04 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to f09ef134a7ca3f0d2ce485a757f5b79809ebb803:

  iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (2019-02-15 09:39:39 -0700)

----------------------------------------------------------------
Third 5.0 rc pull request

Three smallish patches fixing regressions in v5.0:

- Fix cxgb4 to work again with non-4k page sizes

- NULL pointer oops in SRP during sg_reset

----------------------------------------------------------------
Bart Van Assche (1):
      RDMA/srp: Rework SCSI device reset handling

Raju Rangoju (2):
      cxgb4: Export sge_host_page_size to ulds
      iw_cxgb4: cq/qp mask depends on bar2 pages in a host page

 drivers/infiniband/hw/cxgb4/device.c           | 15 +++++++++++++--
 drivers/infiniband/ulp/srp/ib_srp.c            | 10 ----------
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c |  1 +
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h |  1 +
 4 files changed, 15 insertions(+), 12 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-02-01 17:41 Jason Gunthorpe
@ 2019-02-01 18:45 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-02-01 18:45 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Fri, 1 Feb 2019 17:41:11 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/5eeb63359b1ec4914d9898e24aa357ff930e6ee1

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-02-01 17:41 Jason Gunthorpe
  2019-02-01 18:45 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-02-01 17:41 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3449 bytes --]

Hi Linus,

Second rc pull request

Still expecting some more bug fixes for new stuff merged in 5.0, but
at this rate that stuff is looking likely to go into 5.1.

The following changes since commit 49a57857aeea06ca831043acbb0fa5e0f50602fd:

  Linux 5.0-rc3 (2019-01-21 13:14:44 +1300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 7b21b69ab203136fdc153c7707fa6c409e523c2e:

  IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate (2019-01-29 13:57:22 -0700)

----------------------------------------------------------------
Second 5.0 rc pull request

Still not much going on, the usual set of OOP's and driver updates this time.

- Fix two uapi breakage regressions in mlx5 drivers

- Various oops fixes in hfi1, mlx4, umem, uverbs, and ipoib

- A protocol bug fix for hfi1 preventing it from implementing the verbs
  API properly, and a compatability fix for EXEC STACK user programs

- Fix missed refcounting in the 'advise_mr' patches merged this
  cycle.

- Fix wrong use of the uABI in the hns SRQ patches merged this cycle.

----------------------------------------------------------------
Artemy Kovalyov (1):
      RDMA/umem: Add missing initialization of owning_mm

Brian Welty (1):
      IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM

Feras Daoud (1):
      IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start

Jack Morgenstein (1):
      IB/mlx4: Fix using wrong function to destroy sqp AHs under SRIOV

Jason Gunthorpe (2):
      RDMA/device: Expose ib_device_try_get(()
      IB/mlx5: Fix how advise_mr() launches async work

Lijun Ou (1):
      RDMA/hns: Update the kernel header file of hns

Mark Bloch (2):
      RDMA/mlx5: Fix check for supported user flags when creating a QP
      RDMA/mlx5: Fix flow creation on representors

Michael J. Ruhl (1):
      IB/hfi1: Remove overly conservative VM_EXEC flag check

Mike Marciniszyn (1):
      IB/hfi1: Add limit test for RC/UC send via loopback

Yishai Hadas (3):
      IB/uverbs: Fix OOPs upon device disassociation
      IB/uverbs: Fix ioctl query port to consider device disassociation
      IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate

 drivers/infiniband/core/core_priv.h               |  1 -
 drivers/infiniband/core/device.c                  | 13 +++++++++---
 drivers/infiniband/core/umem_odp.c                |  3 +++
 drivers/infiniband/core/uverbs_main.c             | 25 +++++++++++++++--------
 drivers/infiniband/core/uverbs_std_types_device.c |  8 +++++++-
 drivers/infiniband/hw/hfi1/file_ops.c             |  2 +-
 drivers/infiniband/hw/hfi1/ud.c                   |  1 -
 drivers/infiniband/hw/hns/hns_roce_srq.c          | 10 +++++++--
 drivers/infiniband/hw/mlx4/mad.c                  |  6 +++---
 drivers/infiniband/hw/mlx5/flow.c                 |  3 +--
 drivers/infiniband/hw/mlx5/odp.c                  | 10 ++++-----
 drivers/infiniband/hw/mlx5/qp.c                   | 16 ++++++++-------
 drivers/infiniband/hw/qib/qib_ud.c                |  1 -
 drivers/infiniband/sw/rdmavt/qp.c                 |  7 ++++++-
 drivers/infiniband/ulp/ipoib/ipoib.h              |  1 -
 drivers/infiniband/ulp/ipoib/ipoib_cm.c           |  3 +--
 include/rdma/ib_verbs.h                           | 24 ++++++++++++++++++++--
 include/uapi/rdma/hns-abi.h                       |  5 +++++
 18 files changed, 97 insertions(+), 42 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-01-18  3:56 Jason Gunthorpe
@ 2019-01-18  5:35 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-01-18  5:35 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Fri, 18 Jan 2019 03:56:44 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d7393226d15add056285c8fc86723d54d7e0c77d

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-01-18  3:56 Jason Gunthorpe
  2019-01-18  5:35 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-01-18  3:56 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2318 bytes --]

Hi Linus,

Just a small batch of patches for -rc today. Thanks

The following changes since commit bfeffd155283772bbe78c6a05dec7c0128ee500c:

  Linux 5.0-rc1 (2019-01-06 17:08:20 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to d6f4a21f309dfe10a5693ad236358dd6fcc46f7a:

  RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT (2019-01-14 14:02:22 -0700)

----------------------------------------------------------------
First 5.0 rc pull request

Not much so far, but I'm feeling like the 2nd PR -rc will be larger than
this. We have the usual batch of bugs and two fixes to code merged this cycle.

- Restore valgrind support for the ioctl verbs interface merged this window,
  and fix a missed error code on an error path from that conversion

- A user reported crash on obsolete mthca hardware

- pvrdma was using the wrong command opcode toward the hypervisor

- NULL pointer crash regression when dumping rdma-cm over netlink

- Be conservative about exposing the global rkey

----------------------------------------------------------------
Adit Ranadive (1):
      RDMA/vmw_pvrdma: Return the correct opcode when creating WR

Gal Pressman (1):
      RDMA/uverbs: Fix post send success return value in case of error

Jason Gunthorpe (1):
      RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT

Leon Romanovsky (2):
      RDMA/nldev: Don't expose unsafe global rkey to regular user
      RDMA/mthca: Clear QP objects during their allocation

Steve Wise (1):
      RDMA/cma: Add cm_id restrack resource based on kernel or user cm_id type

 drivers/infiniband/core/cma.c                |  5 ++-
 drivers/infiniband/core/nldev.c              |  4 --
 drivers/infiniband/core/rdma_core.h          |  2 +
 drivers/infiniband/core/uverbs_cmd.c         | 11 ++++-
 drivers/infiniband/core/uverbs_ioctl.c       | 62 ++++++++++++++++++++++------
 drivers/infiniband/core/uverbs_main.c        |  1 +
 drivers/infiniband/hw/mthca/mthca_provider.c |  4 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h    | 35 +++++++++++++++-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c |  6 +++
 include/uapi/rdma/vmw_pvrdma-abi.h           |  1 +
 10 files changed, 109 insertions(+), 22 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2019-01-04  5:00 Jason Gunthorpe
@ 2019-01-06  2:40 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2019-01-06  2:40 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Fri, 4 Jan 2019 05:00:10 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/3954e1d0310e30e743431b58918825c4d4fe8812

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-01-04  5:00 Jason Gunthorpe
  2019-01-06  2:40 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2019-01-04  5:00 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]

Hi Linus,

Second merge window pull request

This could also be applied after rc1. It is a small collection of fixes posted
over the holiday break. The merge error with advise_mr is worth fixing right
away so the other, more minor, things are coming along for the ride.

The following changes since commit 5d24ae67a961c51beb255a28c9c417d9710247c2:

  Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma (2018-12-28 14:57:10 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 9c6260de505b63638dd86fcc33849b17f6146d94:

  infiniband/qedr: Potential null ptr dereference of qp (2019-01-02 16:08:38 -0700)

----------------------------------------------------------------
4.21 merge window 2nd pull request

Over the break a few defects were found, so this is a -rc style pull
request of various small things that have been posted.

- An attempt to shorten RCU grace period driven delays showed crashes
  during heavier testing, and has been entirely reverted

- A missed merge/rebase error between the advise_mr and ib_device_ops
  series

- Some small static analysis driven fixes from Julia and Aditya

- Missed ability to create a XRC_INI in the devx verbs interop series

----------------------------------------------------------------
Aditya Pakki (2):
      infiniband: bnxt_re: qplib: Check the return value of send_message
      infiniband/qedr: Potential null ptr dereference of qp

Julia Lawall (1):
      IB/ipoib: drop useless LIST_HEAD

Leon Romanovsky (1):
      Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads"

Moni Shoua (1):
      IB/core: Add advise_mr to the list of known ops

Yishai Hadas (1):
      IB/mlx5: Allow XRC INI usage via verbs in DEVX context

 drivers/infiniband/core/device.c         |  1 +
 drivers/infiniband/hw/bnxt_re/qplib_sp.c |  5 ++---
 drivers/infiniband/hw/mlx5/mr.c          | 19 +++----------------
 drivers/infiniband/hw/mlx5/qp.c          |  3 ++-
 drivers/infiniband/hw/qedr/qedr_iw_cm.c  |  2 ++
 drivers/infiniband/ulp/ipoib/ipoib_ib.c  |  1 -
 6 files changed, 10 insertions(+), 21 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-12-24 22:16 Jason Gunthorpe
@ 2018-12-29  1:30 ` pr-tracker-bot
  0 siblings, 0 replies; 77+ messages in thread
From: pr-tracker-bot @ 2018-12-29  1:30 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel

The pull request you sent on Mon, 24 Dec 2018 22:16:14 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/5d24ae67a961c51beb255a28c9c417d9710247c2

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-12-24 22:16 Jason Gunthorpe
  2018-12-29  1:30 ` pr-tracker-bot
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-12-24 22:16 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 35374 bytes --]

Hi Linus,

These are the proposed RDMA patches for 4.21.

There is a conflict with the net tree merged in 4.20 and the Mellanox shared
tree. DaveM has a resolution for this in his net-next tree already, but if you
merge RDMA first, here is the resolution:

  struct mlx5_ifc_flow_table_eswitch_cap_bits {
-       u8      reserved_at_0[0x1c];
-       u8      fdb_multi_path_to_table[0x1];
-       u8      reserved_at_1d[0x1];
+       u8      reserved_at_0[0x1a];
        u8      multi_fdb_encap[0x1];
-       u8      reserved_at_1f[0x1e1];
+       u8      reserved_at_1b[0x1];
+       u8      fdb_multi_path_to_table[0x1];
+       u8      reserved_at_1d[0x3];
+
+       u8      reserved_at_20[0x1e0];

There is also a conflict in -next with the NFS tree, in this case the correct
resolution is to continue to delete net/sunrpc/xprtrdma/fmr_ops.c

Things got a bit busy in a rush up to the US holiday season, so we may see a
busier early -rc cycle, I've seen a few thing that suggest there are some new
bugs now. The major changes to the uapi will hopefully encourage all the
driver maintainer do to early testing.

This PR is generated off v4.20, typically we've waited until net-next is
merged. For this reason you will see below a large number of patches that
duplicate ones in net-next from the Mellanox shared branch.

The tag for-linus-merged with my merge resolution to your tree is also
available to pull.

The following changes since commit 40e020c129cfc991e8ab4736d2665351ffd1468d:

  Linux 4.20-rc6 (2018-12-09 15:31:00 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to f617e5ffe04fd46010b618c9eeadaa04588704c9:

  RDMA/srpt: Use kmem_cache_free() instead of kfree() (2018-12-22 16:07:47 -0700)

----------------------------------------------------------------
4.21 merge window pull request

This has been a fairly typical cycle, with the usual sorts of driver
updates. Several series continue to come through which improve and
modernize various parts of the core code, and we finally are starting to
get the uAPI command interface cleaned up.

- Various driver fixes for bnxt_re, cxgb3/4, hfi1, hns, i40iw, mlx4, mlx5,
  qib, rxe, usnic

- Rework the entire syscall flow for uverbs to be able to run over
  ioctl(). Finally getting past the historic bad choice to use write()
  for command execution

- More functional coverage with the mlx5 'devx' user API

- Start of the HFI1 series for 'TID RDMA'

- SRQ support in the hns driver

- Support for new IBTA defined 2x lane widths

- A big series to consolidate all the driver function pointers into
  a big struct and have drivers provide a 'static const' version of the
  struct instead of open coding initialization

- New 'advise_mr' uAPI to control device caching/loading of page tables

- Support for inline data in SRPT

- Modernize how umad uses the driver core and creates cdev's and sysfs
  files

- First steps toward removing 'uobject' from the view of the drivers

----------------------------------------------------------------
Alex Vesker (1):
      IB/mlx5: Enable TX on a DEVX flow table

Allen Pais (1):
      RDMA/hns: prefer dma_zalloc_coherent to dma_alloc_coherent/memse

Andrew Boyer (2):
      RDMA/rxe: Distinguish between down links and disabled links
      RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters

Artemy Kovalyov (1):
      IB/mlx5: Allow modify AV in DCI QP to RTR

Ashutosh Dixit (1):
      IB/hfi1: Consider LMC in 16B/bypass ingress packet check

Bart Van Assche (15):
      include/scsi/srp.h: Move response flag definitions into this file
      include/scsi/srp.h: Add support for immediate data
      RDMA/srp: Document srp_parse_in() arguments
      RDMA/srp: Handle large SCSI CDBs correctly
      RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer
      RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration
      RDMA/srp: Rework handling of the maximum information unit length
      RDMA/srp: Add support for immediate data
      RDMA/srpt: Fix a use-after-free in the channel release code
      RDMA/srpt: Improve coding style conformance
      RDMA/srpt: Join split strings
      RDMA/srpt: Make kernel-doc headers complete
      RDMA/srpt: Remove driver version and release date
      RDMA/srpt: Rework the srpt_alloc_srq() error path
      RDMA/srpt: Add support for immediate data

Chuck Lever (1):
      rxe: IB_WR_REG_MR does not capture MR's iova field

Colin Ian King (3):
      IB/qib: fix spelling mistake "colescing" -> "coalescing"
      RDMA/drivers: Fix spelling mistake "initalize" -> "initialize"
      IB/usnic: fix spelling mistake "miniumum" -> "minimum"

Dan Carpenter (4):
      IB/qib: Fix an error code in qib_sdma_verbs_send()
      RDMA/hns: Fix an error code in hns_roce_create_srq()
      IB/uverbs: Signedness bug in UVERBS_HANDLER()
      RDMA/mlx5: Signedness bug in UVERBS_HANDLER()

Daniel Jurgens (1):
      net/mlx5: When fetching CQEs return CQE instead of void pointer

Danit Goldberg (3):
      net/mlx5: Expose packet based credit mode
      IB/mlx5: Add packet based credit mode support
      IB/mlx5: Report packet based credit mode device capability

Devesh Sharma (1):
      RDMA/bnxt_re: Increase depth of control path command queue

Doug Ledford (4):
      Merge branch 'write-handler-consistent-flow' into for-next
      Merge 'mlx5-next' into mlx5-devx
      Merge branch 'mlx5-devx' into wip/dl-for-next
      IB/mlx5: Fix compile issue when ODP disabled

Eli Britstein (3):
      net/mlx5: Introduce extended destination fields
      net/mlx5: E-Switch, Change vhca id valid bool field to bit flag
      net/mlx5: Support extended destination format in flow steering command

Eyal Davidovich (1):
      net/mlx5: Add monitor commands layout and event data

Gal Pressman (7):
      net/mlx5: Fix offsets of ifc reserved fields
      RDMA/vmw_pvrdma: Use atomic memory allocation in create AH
      RDMA/mlx5: Fix function name typo 'fileds' -> 'fields'
      RDMA: Mark if create address handle is in a sleepable context
      RDMA: Mark if destroy address handle is in a sleepable context
      RDMA/bnxt_re: Make use of create AH sleepable flag
      RDMA/bnxt_re: Make use of destroy AH sleepable flag

Guy Levi (2):
      IB/mlx5: Use fragmented SRQ's buffer for in-kernel users
      IB/mlx5: Use fragmented QP's buffer for in-kernel users

Huy Nguyen (1):
      IB/mlx5: Fix long EEH recover time with NVMe offloads

Jason Gunthorpe (38):
      Merge branch 'mlx5-next' into rdma.git
      RDMA/mlx5: Do not generate the uabi specs unconditionally
      RDMA/uverbs: Use a linear list to describe the compiled-in uapi
      RDMA/uverbs: Factor out the add/get pattern into a helper
      RDMA/uverbs: Add helpers to mark uapi functions as unsupported
      RDMA/mlx5: Use the uapi disablement APIs instead of code
      RDMA/uverbs: Require all objects to have a driver destroy function
      RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api
      RDMA/uverbs: Convert the write interface to use uverbs_api
      RDMA/uverbs: Make all the method functions in uverbs_cmd static
      RDMA/uverbs: Check for NULL driver methods for every write call
      RDMA/uverbs: Add missing driver_data
      RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write
      RDMA/uverbs: Make write() handlers return 0 on success
      RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods
      RDMA/uverbs: Add structure size info to write commands
      RDMA/uverbs: Prohibit write() calls with too small buffers
      RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex
      RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write
      RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl()
      RDMA/uverbs: Remove out_len checks that are now done by the core
      RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex
      RDMA/uverbs: Get rid of the 'callback' scheme in the compat path
      RDMA/uverbs: Use uverbs_response() for remaining response copying
      RDMA/uverbs: Use uverbs_request() for request copying
      RDMA/uverbs: Use uverbs_request() and core for write_ex handlers
      RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP
      RDMA/uverbs: Simplify ib_uverbs_ex_query_device
      RDMA/uverbs: Add a simple iterator interface for reading the command
      RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv()
      RDMA/uverbs: Do not check the input length on create_cq/qp paths
      RDMA/uverbs: Use only attrs for the write() handler signature
      Merge branch 'mlx5-packet-credit-fc' into rdma.git
      Merge tag 'v4.20-rc6' into rdma.git for-next
      RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers
      RDMA/uverbs: Add a method to introspect handles in a context
      Merge branch 'mlx5-next' into rdma.git
      IB/mlx5: Fix wrong error unwind

Kaike Wan (4):
      IB/hfi1: Dump pio info for non-user send contexts
      IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state
      IB/hfi1: Unreserve a reserved request when it is completed
      IB/hfi1: Add OPFN and TID RDMA capability bits

Kamal Heib (20):
      RDMA/core: Introduce ib_device_ops
      RDMA/bnxt_re: Initialize ib_device_ops struct
      RDMA/cxgb3: Initialize ib_device_ops struct
      RDMA/cxgb4: Initialize ib_device_ops struct
      RDMA/hfi1: Initialize ib_device_ops struct
      RDMA/hns: Initialize ib_device_ops struct
      RDMA/i40iw: Initialize ib_device_ops struct
      RDMA/mlx4: Initialize ib_device_ops struct
      RDMA/mlx5: Initialize ib_device_ops struct
      RDMA/mthca: Initialize ib_device_ops struct
      RDMA/nes: Initialize ib_device_ops struct
      RDMA/ocrdma: Initialize ib_device_ops struct
      RDMA/qedr: Initialize ib_device_ops struct
      RDMA/qib: Initialize ib_device_ops struct
      RDMA/usnic: Initialize ib_device_ops struct
      RDMA/vmw_pvrdma: Initialize ib_device_ops struct
      RDMA/rxe: Initialize ib_device_ops struct
      RDMA/rdmavt: Initialize ib_device_ops struct
      RDMA: Start use ib_device_ops
      RDMA/i40iw: Make sure to initialize ib_device_ops

Leon Romanovsky (22):
      RDMA/qib: Remove all occurrences of BUG_ON()
      RDMA/restrack: Track ucontext
      RDMA/uverbs: Annotate alloc/deallloc paths with context tracking
      RDMA/nldev: Export to user space number of contexts
      net/mlx5: Align SRQ licenses and copyright information
      net/mlx5: Remove dead transobj code
      net/mlx5: Remove not-used lib/eq.h header file
      net/mlx5: Remove references to local mlx5_core functions
      net/mlx5: Move SRQ functions to RDMA part
      RDMA/mlx5: Remove SRQ signature global flag
      RDMA/mlx5: Use stages for callback to setup and release DEVX
      RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format
      RDMA/mlx5: Initialize SRQ tables on mlx5_ib
      RDMA/mlx5: Unfold create RMP function
      RDMA/mlx5: Unfold modify RMP function
      RDMA/uverbs: Fix typo in string concatenation macro
      RDMA/mlx5: Fail early if user tries to create flows on IB representors
      RDMA/uverbs: Optimize clearing of extra bytes in response
      RDMA/ocrdma: Use PCI-ID as an identification in debugfs
      net/mlx5: Continue driver initialization despite debugfs failure
      RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion
      net/mlx5: Add shared Q counter bits

Lijun Ou (9):
      RDMA/hns: Eanble SRQ capacity for hip08
      RDMA/hns: Init SRQ table for hip08
      RDMA/hns: Add SRQ support for hip08 kernel mode
      RDMA/hns: Add SRQ asynchronous event support
      RDMA/hns: Init qp context when modify qp from reset to init
      RDMA/hns: Encapsulate and simplify qp state transition
      RDMA/hns: Fix the bug while use multi-hop of pbl
      RDMA/hns: Update posting & querying mailbox
      RDMA/hns: Bugfix for RoCE loopback test

Mark Bloch (2):
      RDMA/mlx5: Attach a DEVX counter via raw flow creation
      IB/mlx5: Unify e-switch representors load approach between uplink and VFs

Michael Guralnik (9):
      IB/core: Add CapabilityMask2 to port attributes
      IB/core: Add 2X port width
      IB/core: Add new IB rates
      IB/mlx5: Report CapabilityMask2 in ib_query_port
      IB/mlx5: Add HDR speed support to query port
      IB/mlx5: Add 2X width support to query_port
      IB/core: uverbs copy to struct or zero helper
      RDMA/nldev: Expose port_cap_flags2
      IB/core: Move query port to ioctl

Michael J. Ruhl (2):
      IB/hfi1: Limit VNIC use of SDMA engines to the available count
      IB/hfi1: Incorrect sizing of sge for PIO will OOPs

Mike Marciniszyn (3):
      IB/hfi1: Allow the driver to initialize QP priv struct
      IB/hfi1: Close VNIC sdma_progress sleep window
      IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio

Mikhael Goikhman (3):
      net/mlx5: Rework handling of port module events
      net/mlx5: Add support for PCIe power slot exceeded error in PME
      net/mlx5: Add support for plugged-disabled cable status in PME

Mitko Haralanov (1):
      IB/hfi1: Correctly process FECN and BECN in packets

Moni Shoua (10):
      net/mlx5: Release resource on error flow
      net/mlx5: Add interface to hold and release core resources
      net/mlx5: Enumerate page fault types
      IB/mlx5: Lock QP during page fault handling
      net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
      net/mlx5: Use multi threaded workqueue for page fault handling
      IB/mlx5: Improve ODP debugging messages
      IB/uverbs: Add helper to get array size from ptr attribute
      IB/uverbs: Add support to advise_mr
      IB/mlx5: Add advise_mr() support

Or Gerlitz (2):
      net/mlx5: Remove the get protocol device interface entry
      IB/mlx5: Simplify netdev unbinding

Oz Shlomo (1):
      net/mlx5: Revise gre and nvgre key formats

Parav Pandit (11):
      RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h
      RDMA/cma: Move cma module specific functions to cma_priv.h
      RDMA/core: Sync unregistration with netlink commands
      RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted
      RDMA/uverbs: Add an ioctl method to destroy an object
      IB/rxe: Make counters thread safe
      IB/umad: Simplify and avoid dynamic allocation of class
      IB/umad: Avoid destroying device while it is accessed
      IB/umad: Refactor code to use cdev_device_add()
      IB/umad: Use class_groups and let core create class file
      IB/umad: Start using dev_groups of class

Parvi Kaustubhi (2):
      MAINTAINERS: Update usnic driver maintainers
      IB/usnic: Fix potential deadlock

Qian Cai (1):
      mlx4: Use snprintf instead of complicated strcpy

Rami Rosen (1):
      IB/uverbs: fix a typo

Roi Dayan (2):
      net/mlx5: Split the activate lag function into two routines
      net/mlx5: Add lag affinity info to log

Sabyasachi Gupta (2):
      infiniband/hw/cxgb3/cxio_hal.c: Use dma_zalloc_coherent
      infiniband/hw/cxgb4/qp.c: Use dma_zalloc_coherent

Saeed Mahameed (38):
      net/mlx5: EQ, Use the right place to store/read IRQ affinity hint
      net/mlx5: EQ, Remove unused fields and structures
      net/mlx5: EQ, No need to store eq index as a field
      net/mlx5: EQ, Remove redundant completion EQ list lock
      net/mlx5: EQ, Move all EQ logic to eq.c
      net/mlx5: EQ, Create all EQs in one place
      net/mlx5: EQ, irq_info and rmap belong to eq_table
      net/mlx5: EQ, Privatize eq_table and friends
      net/mlx5: EQ, Different EQ types
      net/mlx5: EQ, Generic EQ
      {net,IB}/mlx5: Move Page fault EQ and ODP logic to RDMA
      net/mlx5: EQ, Make EQE access methods inline
      net/mlx5: EQ, Introduce atomic notifier chain subscription API
      net/mlx5: FWTrace, Use async events chain
      net/mlx5: FPGA, Use async events chain
      net/mlx5: Clock, Use async events chain
      net/mlx5: E-Switch, Use async events chain
      net/mlx5: FWPage, Use async events chain
      net/mlx5: CmdIF, Use async events chain
      net/mlx5: Resource tables, Use async events chain
      net/mlx5: CQ ERR, Use async events chain
      net/mlx5: Device events, Use async events chain
      net/mlx5: Improve core device events handling
      net/mlx5: Driver events notifier API
      net/mlx5: Allow port change event to be forwarded to driver notifiers chain
      net/mlx5e: Use the new mlx5 core notifier API
      net/mlx5: Forward all mlx5 events to mlx5 notifiers chain
      IB/mlx5: Use the new mlx5 core notifier API
      net/mlx5: Remove unused events callback and logic
      IB/mlx5: Handle raw port change event rather than the software version
      net/mlx5: Allow forwarding event type general event as is
      IB/mlx5: Handle raw delay drop general event
      net/mlx5: Remove all deprecated software versions of FW events
      net/mlx5: Forward QP/WorkQueues resource events
      net/mlx5: Forward SRQ resource events
      net/mlx5: Debug print for forwarded async events
      net/mlx5: Move flow counters data structures from flow steering header
      net/mlx5: Use lowercase 'X' for hex values

Sagi Grimberg (3):
      rxe: fix error completion wr_id and qp_num
      mlx5: remove support for ib_get_vector_affinity
      i40iw: remove support for ib_get_vector_affinity

Selvin Xavier (1):
      RDMA/bnxt_re: Query HWRM Interface version from FW

Shahar Klein (2):
      net/mlx5: E-Switch, Introduce flow counter affinity
      net/mlx5: Fold the modify lag code into function

Shamir Rabinovitch (2):
      RDMA/restrack: Resource-tracker should not use uobject pointers
      RDMA: Cleanup undesired pd->uobject usage

Steve Wise (2):
      iw_cxgb4: only reconnect with MPAv1 if the peer aborts
      RDMA/iwcm: Don't copy past the end of dev_name() string

Tariq Toukan (2):
      net/mlx5: Use helper to get CQE opcode
      IB/mlx5: Use helper to get CQE opcode

Ursula Braun (1):
      mlx4: trigger IB events needed by SMC

Wei Yongjun (1):
      RDMA/srpt: Use kmem_cache_free() instead of kfree()

Yishai Hadas (11):
      net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits
      IB/core: Introduce UVERBS_IDR_ANY_OBJECT
      IB/core: Enable getting an object type from a given uobject
      IB/mlx5: Enable modify and query verbs objects via DEVX
      IB/mlx5: Enforce DEVX privilege by firmware
      IB/mlx5: Update the supported DEVX commands
      IB/mlx5: Allow XRC usage via verbs in DEVX context
      IB/mlx5: Introduce uid as part of alloc/dealloc transport domain
      IB/mlx5: Use uid as part of alloc/dealloc transport domain
      IB/mlx5: Use the correct commands for UMEM and UCTX allocation
      IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported

Yue Haibing (1):
      IB/srpt: Drop pointless static qualifier in srpt_make_tpg()

YueHaibing (3):
      IB/mlx5: Remove duplicated include from mlx5_ib.h
      net/mlx5: Remove duplicated include from eswitch.c
      IB/mlx4: Remove set but not used variable 'pd'

Yuval Shaia (9):
      IB/core: Make function ib_fmr_pool_unmap return void
      IB/rxe: Make function rxe_pool_cleanup return void
      IB/rxe: Utilize generic function to validate port number
      RDMA/core: Validate port number in query_pkey verb
      IB/rxe: Fix incorrect cache cleanup in error flow
      IB/{mlx5,ocrdma,qedr,rxe}: Omit port validation from IB verbs
      IB/mlx4: Remove unneeded NULL check
      IB/mlx4: Utilize macro to calculate SQ spare size
      IB/rxe: Reuse code which sets port state

Zhu Yanjun (3):
      IB/rxe: clean skb queue directly
      IB/rxe: move the variable into the function that uses it
      IB/rxe: make rxe_unregister_device void

kbuild test robot (1):
      RDMA/uverbs: fix ptr_ret.cocci warnings

 MAINTAINERS                                        |    2 +
 drivers/infiniband/core/Makefile                   |    2 +-
 drivers/infiniband/core/agent.c                    |    4 +-
 drivers/infiniband/core/cache.c                    |   17 +-
 drivers/infiniband/core/cm.c                       |    6 +-
 drivers/infiniband/core/cma.c                      |    2 +-
 drivers/infiniband/core/cma_configfs.c             |    3 +
 drivers/infiniband/core/cma_priv.h                 |   28 +
 drivers/infiniband/core/core_priv.h                |   47 +-
 drivers/infiniband/core/cq.c                       |    8 +-
 drivers/infiniband/core/device.c                   |  166 +-
 drivers/infiniband/core/fmr_pool.c                 |    8 +-
 drivers/infiniband/core/iwcm.c                     |   12 +-
 drivers/infiniband/core/mad.c                      |   22 +-
 drivers/infiniband/core/mad_rmpp.c                 |   11 +-
 drivers/infiniband/core/nldev.c                    |   34 +-
 drivers/infiniband/core/opa_smi.h                  |    4 +-
 drivers/infiniband/core/rdma_core.c                |   54 +-
 drivers/infiniband/core/rdma_core.h                |   79 +-
 drivers/infiniband/core/restrack.c                 |   51 +-
 drivers/infiniband/core/sa_query.c                 |    5 +-
 drivers/infiniband/core/security.c                 |    8 +-
 drivers/infiniband/core/smi.h                      |    4 +-
 drivers/infiniband/core/sysfs.c                    |   28 +-
 drivers/infiniband/core/ucm.c                      |    2 +-
 drivers/infiniband/core/umem_odp.c                 |   14 +-
 drivers/infiniband/core/user_mad.c                 |  244 +--
 drivers/infiniband/core/uverbs.h                   |   86 +-
 drivers/infiniband/core/uverbs_cmd.c               | 2074 ++++++++++----------
 drivers/infiniband/core/uverbs_ioctl.c             |   59 +-
 drivers/infiniband/core/uverbs_main.c              |  242 +--
 drivers/infiniband/core/uverbs_std_types.c         |  118 +-
 .../infiniband/core/uverbs_std_types_counters.c    |   20 +-
 drivers/infiniband/core/uverbs_std_types_cq.c      |   23 +-
 drivers/infiniband/core/uverbs_std_types_device.c  |  224 +++
 drivers/infiniband/core/uverbs_std_types_dm.c      |   17 +-
 .../infiniband/core/uverbs_std_types_flow_action.c |   31 +-
 drivers/infiniband/core/uverbs_std_types_mr.c      |   76 +-
 drivers/infiniband/core/uverbs_uapi.c              |  514 ++++-
 drivers/infiniband/core/verbs.c                    |  194 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |   17 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |    3 +-
 drivers/infiniband/hw/bnxt_re/main.c               |  128 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c         |   34 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h         |   59 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.h          |    1 +
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   10 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    6 +-
 drivers/infiniband/hw/cxgb3/cxio_hal.c             |    3 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |   66 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |    3 +-
 drivers/infiniband/hw/cxgb4/provider.c             |   74 +-
 drivers/infiniband/hw/cxgb4/qp.c                   |    7 +-
 drivers/infiniband/hw/hfi1/Makefile                |    1 +
 drivers/infiniband/hw/hfi1/chip.c                  |   47 +-
 drivers/infiniband/hw/hfi1/chip_registers.h        |    4 +
 drivers/infiniband/hw/hfi1/common.h                |   19 +-
 drivers/infiniband/hw/hfi1/debugfs.c               |   49 +
 drivers/infiniband/hw/hfi1/driver.c                |   72 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |   35 +-
 drivers/infiniband/hw/hfi1/mad.c                   |    2 +-
 drivers/infiniband/hw/hfi1/pio.c                   |   31 +-
 drivers/infiniband/hw/hfi1/pio.h                   |    5 +
 drivers/infiniband/hw/hfi1/qp.c                    |   20 +-
 drivers/infiniband/hw/hfi1/rc.c                    |   32 +-
 drivers/infiniband/hw/hfi1/sdma.c                  |   10 +-
 drivers/infiniband/hw/hfi1/sdma.h                  |    1 +
 drivers/infiniband/hw/hfi1/tid_rdma.c              |   48 +
 drivers/infiniband/hw/hfi1/tid_rdma.h              |   13 +
 drivers/infiniband/hw/hfi1/uc.c                    |    2 +-
 drivers/infiniband/hw/hfi1/ud.c                    |   33 +-
 drivers/infiniband/hw/hfi1/user_sdma.c             |    5 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |   28 +-
 drivers/infiniband/hw/hfi1/verbs.h                 |    2 +
 drivers/infiniband/hw/hfi1/vnic_main.c             |    4 +-
 drivers/infiniband/hw/hfi1/vnic_sdma.c             |   18 +-
 drivers/infiniband/hw/hns/Makefile                 |    2 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c            |    3 +-
 drivers/infiniband/hw/hns/hns_roce_alloc.c         |    2 +
 drivers/infiniband/hw/hns/hns_roce_cmd.h           |    4 +
 drivers/infiniband/hw/hns/hns_roce_common.h        |    3 -
 drivers/infiniband/hw/hns/hns_roce_device.h        |   97 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c           |   41 +-
 drivers/infiniband/hw/hns/hns_roce_hem.h           |    2 +
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   13 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  574 +++++-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |  142 +-
 drivers/infiniband/hw/hns/hns_roce_main.c          |  185 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |  141 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   37 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c           |  457 +++++
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |    2 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  127 +-
 drivers/infiniband/hw/mlx4/ah.c                    |    6 +-
 drivers/infiniband/hw/mlx4/alias_GUID.c            |    2 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   28 +-
 drivers/infiniband/hw/mlx4/main.c                  |  205 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |    5 +-
 drivers/infiniband/hw/mlx4/qp.c                    |   31 +-
 drivers/infiniband/hw/mlx4/srq.c                   |   10 +-
 drivers/infiniband/hw/mlx4/sysfs.c                 |   12 +-
 drivers/infiniband/hw/mlx5/Makefile                |    4 +-
 drivers/infiniband/hw/mlx5/ah.c                    |    4 +-
 drivers/infiniband/hw/mlx5/cmd.c                   |   19 +
 drivers/infiniband/hw/mlx5/cmd.h                   |    2 +
 drivers/infiniband/hw/mlx5/cq.c                    |  114 +-
 drivers/infiniband/hw/mlx5/devx.c                  |  233 ++-
 drivers/infiniband/hw/mlx5/flow.c                  |   73 +-
 drivers/infiniband/hw/mlx5/ib_rep.c                |   15 +-
 drivers/infiniband/hw/mlx5/mad.c                   |   18 +-
 drivers/infiniband/hw/mlx5/main.c                  |  602 +++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   77 +-
 drivers/infiniband/hw/mlx5/mr.c                    |   42 +-
 drivers/infiniband/hw/mlx5/odp.c                   |  454 ++++-
 drivers/infiniband/hw/mlx5/qp.c                    |  447 +++--
 drivers/infiniband/hw/mlx5/srq.c                   |   73 +-
 drivers/infiniband/hw/mlx5/srq.h                   |   73 +
 .../core/srq.c => infiniband/hw/mlx5/srq_cmd.c}    |  302 +--
 drivers/infiniband/hw/mthca/mthca_dev.h            |    9 +-
 drivers/infiniband/hw/mthca/mthca_mad.c            |    7 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |  158 +-
 drivers/infiniband/hw/mthca/mthca_qp.c             |   22 +-
 drivers/infiniband/hw/mthca/mthca_srq.c            |   29 +-
 drivers/infiniband/hw/nes/nes_cm.c                 |    2 +-
 drivers/infiniband/hw/nes/nes_verbs.c              |   71 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |    4 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    4 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   92 +-
 drivers/infiniband/hw/ocrdma/ocrdma_stats.c        |    5 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   19 +-
 drivers/infiniband/hw/qedr/main.c                  |  103 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   25 +-
 drivers/infiniband/hw/qedr/verbs.h                 |    4 +-
 drivers/infiniband/hw/qib/qib_iba6120.c            |    1 -
 drivers/infiniband/hw/qib/qib_iba7220.c            |    2 -
 drivers/infiniband/hw/qib/qib_iba7322.c            |    3 -
 drivers/infiniband/hw/qib/qib_init.c               |    1 -
 drivers/infiniband/hw/qib/qib_mad.c                |    3 +-
 drivers/infiniband/hw/qib/qib_pcie.c               |    2 +-
 drivers/infiniband/hw/qib/qib_sdma.c               |    5 +-
 drivers/infiniband/hw/qib/qib_ud.c                 |    1 -
 drivers/infiniband/hw/qib/qib_user_sdma.c          |    1 -
 drivers/infiniband/hw/qib/qib_verbs.c              |   13 +-
 drivers/infiniband/hw/usnic/usnic_ib_main.c        |   63 +-
 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c      |    2 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   14 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   82 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |    2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |    8 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |    4 +-
 drivers/infiniband/sw/rdmavt/ah.c                  |    5 +-
 drivers/infiniband/sw/rdmavt/ah.h                  |    3 +-
 drivers/infiniband/sw/rdmavt/mad.c                 |    3 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |    9 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |  299 +--
 drivers/infiniband/sw/rxe/rxe.h                    |    6 +-
 drivers/infiniband/sw/rxe/rxe_comp.c               |    6 +
 drivers/infiniband/sw/rxe/rxe_hw_counters.c        |    9 +-
 drivers/infiniband/sw/rxe/rxe_hw_counters.h        |    3 +
 drivers/infiniband/sw/rxe/rxe_loc.h                |    7 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |   16 +-
 drivers/infiniband/sw/rxe/rxe_pool.c               |   30 +-
 drivers/infiniband/sw/rxe/rxe_pool.h               |    2 +-
 drivers/infiniband/sw/rxe/rxe_qp.c                 |   11 +-
 drivers/infiniband/sw/rxe/rxe_req.c                |    3 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |   33 +-
 drivers/infiniband/sw/rxe/rxe_sysfs.c              |   18 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |  129 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |    8 +-
 drivers/infiniband/ulp/ipoib/ipoib_ib.c            |    4 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
 drivers/infiniband/ulp/iser/iser_memory.c          |    9 +-
 drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c  |    8 +-
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c    |    8 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |  159 +-
 drivers/infiniband/ulp/srp/ib_srp.h                |   20 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |  283 ++-
 drivers/infiniband/ulp/srpt/ib_srpt.h              |   44 +-
 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    4 +-
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   54 +-
 drivers/net/ethernet/mellanox/mlx5/core/cq.c       |   15 +-
 drivers/net/ethernet/mellanox/mlx5/core/debugfs.c  |   11 +
 drivers/net/ethernet/mellanox/mlx5/core/dev.c      |  162 +-
 .../mellanox/mlx5/core/diag/fs_tracepoint.c        |    8 +-
 .../ethernet/mellanox/mlx5/core/diag/fw_tracer.c   |   27 +-
 .../ethernet/mellanox/mlx5/core/diag/fw_tracer.h   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |    6 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   51 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |   10 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c |   17 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/eq.c       | 1260 ++++++------
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   44 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    3 +-
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |    8 +-
 drivers/net/ethernet/mellanox/mlx5/core/events.c   |  325 +++
 .../net/ethernet/mellanox/mlx5/core/fpga/conn.c    |    2 +-
 .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |   38 +-
 .../net/ethernet/mellanox/mlx5/core/fpga/core.h    |   11 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   83 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   23 -
 .../net/ethernet/mellanox/mlx5/core/fs_counters.c  |   23 +
 drivers/net/ethernet/mellanox/mlx5/core/health.c   |   29 +-
 drivers/net/ethernet/mellanox/mlx5/core/lag.c      |   59 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.c    |   24 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.h    |    3 -
 drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |   98 +
 drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h |   36 +
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |  351 +---
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |   39 +-
 .../net/ethernet/mellanox/mlx5/core/pagealloc.c    |   44 +-
 drivers/net/ethernet/mellanox/mlx5/core/port.c     |   57 -
 drivers/net/ethernet/mellanox/mlx5/core/qp.c       |   86 +-
 drivers/net/ethernet/mellanox/mlx5/core/transobj.c |  109 -
 drivers/net/ethernet/mellanox/mlx5/core/wq.h       |    2 +-
 fs/cifs/smbdirect.c                                |    2 +-
 include/linux/mlx5/cq.h                            |    2 +-
 include/linux/mlx5/device.h                        |   23 +-
 include/linux/mlx5/driver.h                        |  254 +--
 include/linux/mlx5/eq.h                            |   72 +
 include/linux/mlx5/fs.h                            |    8 +-
 include/linux/mlx5/mlx5_ifc.h                      |  229 ++-
 include/linux/mlx5/port.h                          |    3 -
 include/linux/mlx5/qp.h                            |    5 +
 include/linux/mlx5/srq.h                           |   72 -
 include/linux/mlx5/transobj.h                      |   11 -
 include/rdma/ib_fmr_pool.h                         |    2 +-
 include/rdma/ib_mad.h                              |   10 +
 include/rdma/ib_verbs.h                            |  584 +++---
 include/rdma/rdma_vt.h                             |    7 +
 include/rdma/restrack.h                            |   17 +-
 include/rdma/uverbs_ioctl.h                        |  251 ++-
 include/rdma/uverbs_named_ioctl.h                  |   13 +-
 include/rdma/uverbs_std_types.h                    |   73 +-
 include/scsi/srp.h                                 |   26 +-
 include/uapi/rdma/hfi/hfi1_user.h                  |    6 +-
 include/uapi/rdma/hns-abi.h                        |    6 +
 include/uapi/rdma/ib_user_ioctl_cmds.h             |   84 +
 include/uapi/rdma/ib_user_ioctl_verbs.h            |   16 +
 include/uapi/rdma/ib_user_verbs.h                  |   18 +-
 include/uapi/rdma/mlx5-abi.h                       |    2 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |    1 +
 include/uapi/rdma/rdma_netlink.h                   |    3 +
 net/rds/ib.c                                       |    4 +-
 net/sunrpc/xprtrdma/fmr_ops.c                      |    2 +-
 247 files changed, 10427 insertions(+), 6528 deletions(-)
(diffstat from tag for-linus-merged)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-11-29 22:52 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-11-29 22:52 UTC (permalink / raw)
  To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2945 bytes --]

Hi Linus,

First rc pull request

This is a bit later than usual for our first -rc but I'm not seeing
anything worry-some in the RDMA tree right now. Quiet so far this -rc
cycle, only a few internal driver related bugs and a small series
fixing ODP bugs found by more advanced testing.

The following changes since commit 651022382c7f8da46cb4872a545ee1da6d097d2a:

  Linux 4.20-rc1 (2018-11-04 15:37:52 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 7bca603a69c0c239654a8f0bcb99e1a60b30040c:

  RDMA/mlx5: Initialize return variable in case pagefault was skipped (2018-11-29 15:16:45 -0700)

----------------------------------------------------------------
First rc pull request

A set of small driver and core code fixes:

- Small series fixing longtime user triggerable bugs in the
  ODP processing inside mlx5 and core code

- Various small driver malfunctions and crashes (use after, free, error
  unwind, implementation bugs)

- A misfunction of the RDMA GID cache that can be triggered by the
  administrator

----------------------------------------------------------------
Artemy Kovalyov (3):
      IB/mlx5: Skip non-ODP MR when handling a page fault
      IB/umem: Set correct address to the invalidation function
      IB/mlx5: Fix page fault handling for MW

Kamal Heib (1):
      RDMA/rdmavt: Fix rvt_create_ah function signature

Leon Romanovsky (1):
      RDMA/mlx5: Initialize return variable in case pagefault was skipped

Majd Dibbiny (1):
      RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR

Michael Guralnik (1):
      IB/mlx5: Avoid load failure due to unknown link width

Parav Pandit (1):
      RDMA/core: Add GIDs while changing MAC addr only for registered ndev

Sagi Grimberg (1):
      iser: set sector for ambiguous mr status errors

Selvin Xavier (2):
      RDMA/bnxt_re: Fix system hang when registration with L2 driver fails
      RDMA/bnxt_re: Avoid accessing the device structure after it is freed

Yishai Hadas (1):
      net/mlx5: Fix XRC SRQ umem valid bits

Yixian Liu (1):
      RDMA/hns: Bugfix pbl configuration for rereg mr

Yonatan Cohen (1):
      IB/mlx5: Fix XRC QP support after introducing extended atomic

 drivers/infiniband/core/roce_gid_mgmt.c    |   6 +-
 drivers/infiniband/core/umem_odp.c         |  20 ++---
 drivers/infiniband/hw/bnxt_re/main.c       |   3 +
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 128 ++++++++++++++---------------
 drivers/infiniband/hw/mlx5/main.c          |  29 +++----
 drivers/infiniband/hw/mlx5/odp.c           |  10 +++
 drivers/infiniband/hw/mlx5/qp.c            |  22 ++---
 drivers/infiniband/sw/rdmavt/ah.c          |   4 +-
 drivers/infiniband/sw/rdmavt/ah.h          |   3 +-
 drivers/infiniband/ulp/iser/iser_verbs.c   |   7 +-
 include/linux/mlx5/mlx5_ifc.h              |  12 ++-
 11 files changed, 121 insertions(+), 123 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-10-25 21:21 Jason Gunthorpe
@ 2018-10-26 14:50 ` Linus Torvalds
  0 siblings, 0 replies; 77+ messages in thread
From: Linus Torvalds @ 2018-10-26 14:50 UTC (permalink / raw)
  To: jgg; +Cc: dledford, linux-rdma, Linux Kernel Mailing List

On Thu, Oct 25, 2018 at 2:21 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> This pull request is following your recommendation from 4.19, the
> for-linus tag has no merge, a for-linus-merged tag has my merge
> resolution for your reference, and the diffstat below has been
> replaced with the diffstat from the for-linus-merged tag.

Thanks, looks good.  Pulled,

                Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-10-25 21:21 Jason Gunthorpe
  2018-10-26 14:50 ` Linus Torvalds
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-10-25 21:21 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 31267 bytes --]

Hi Linus,

Here are the RDMA patches for 4.20.

This time there is one simple git contextual conflict and a conflict
that causes a compile failure. The latter is fixed with this patch:

diff --git a/drivers/infiniband/hw/mlx5/flow.c b/drivers/infiniband/hw/mlx5/flow.c
index e57435cb6d96..f86cdcafdafc 100644
--- a/drivers/infiniband/hw/mlx5/flow.c
+++ b/drivers/infiniband/hw/mlx5/flow.c
@@ -160,7 +160,7 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_CREATE_FLOW)(
                         ret = -EINVAL;
                         goto err_out;
                 }
-               flow_act.has_flow_tag = true;
+               flow_act.flags |= FLOW_ACT_HAS_TAG;
         }

         flow_handler = mlx5_ib_raw_fs_rule_add(dev, fs_matcher, &flow_act,

This appears to have arisen because a patch was sent to netdev
changing infiniband code that should have gone to the shared tree. The
appropriate people have been reminded about the process.

Otherwise it has been a reasonable cycle here with not too much major
change.

This pull request is following your recommendation from 4.19, the
for-linus tag has no merge, a for-linus-merged tag has my merge
resolution for your reference, and the diffstat below has been
replaced with the diffstat from the for-linus-merged tag.

The following changes since commit 94a04d1d3d3681adde1a3e022b25dbac7b345b7e:

  net/mlx5: Expose DC scatter to CQE capability bit (2018-10-16 21:55:29 +0300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to a60109dc9a954ef9eddba6577e2d2e9e7952e487:

  IB/mlx5: Add support for extended atomic operations (2018-10-17 11:53:23 -0400)

----------------------------------------------------------------
First merge window pull request

This has been a smaller cycle with many of the commits being smallish code
fixes and improvements across the drivers.

- Driver updates for bnxt_re, cxgb4, hfi1, hns, mlx5, nes, qedr, and rxe

- Memory window support in hns

- mlx5 user API 'flow mutate/steering' allows accessing the full packet
  mangling and matching machinery from user space

- Support inter-working with verbs API calls in the 'devx' mlx5 user API, and
  provide options to use devx with less privilege

- Modernize the use of syfs and the device interface to use attribute groups
  and cdev properly for uverbs, and clean up some of the core code's device list
  management

- More progress on net namespaces for RDMA devices

- Consolidate driver BAR mmapping support into core code helpers and rework
  how RDMA holds poitners to mm_struct for get_user_pages cases

- First pass to use 'dev_name' instead of ib_device->name

- Device renaming for RDMA devices

----------------------------------------------------------------
Alex Estrin (2):
      IB/sa: simplify return code logic for ib_nl_send_msg()
      IB/hfi1: Add mtu check for operational data VLs

Arnd Bergmann (1):
      RDMA: Fix dependencies for rdma_user_mmap_io

Arseny Maslennikov (3):
      Documentation/ABI: document /sys/class/net/*/dev_port
      IB/ipoib: Use dev_port to expose network interface port numbers
      IB/ipoib: Log sysfs 'dev_id' accesses from userspace

Artemy Kovalyov (1):
      IB/mlx5: Fix MR cache initialization

Brian Welty (1):
      IB/{hfi1, qib, rdmavt}: Move copy SGE logic into rdmavt

Chuck Lever (2):
      RDMA/core: Document CM @event_handler function
      RDMA/core: Document QP @event_handler function

Colin Ian King (3):
      IB/usnic: fix spelling mistake "unvalid" -> "invalid"
      IB/mthca: remove redundant inner check of mdev->mthca_flags
      RDMA/hns: fix spelling mistake "reseved" -> "reserved"

Dan Carpenter (1):
      RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table()

Denis Drozdov (1):
      IB/ipoib: Clear IPCB before icmp_send

Dennis Dalessandro (3):
      IB/hfi1: Rework file list in Makefile
      IB/hfi1: Prepare resource waits for dual leg
      IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds

Devesh Sharma (3):
      RDMA/bnxt_re: Drop L2 async events silently
      RDMA/bnxt_re: Fix qp async event reporting
      RDMA/bnxt_re: Limit max_pkey to 16 bit value

Doug Ledford (4):
      Merge branch 'mlx5-vport-loopback' into rdma.get
      RDMA/umem: Minor optimizations
      RDMA/umem: Fix potential addition overflow
      Merge remote-tracking branch 'mlx5-next' into for-next

Gal Pressman (1):
      RDMA/mlx5: Remove extraneous error check

Guy Levi (1):
      IB/uverbs: Add IDRs array attribute type to ioctl() interface

Hannes Reinecke (1):
      ib_srp: Remove WARN_ON in srp_terminate_io()

Håkon Bugge (3):
      RDMA/i40iw: Fix incorrect iterator type
      IB/mlx4: Enable debug print of SMPs
      IB/mlx4: Add port and TID to MAD debug print

Igor Stoppa (1):
      IB/srp: Remove unnecessary unlikely()

Israel Rukshin (1):
      IB/iser: Fix possible NULL deref at iser_inv_desc()

Jack Morgenstein (1):
      IB/core: Add an unbound WQ type to the new CQ API

Jason Gunthorpe (31):
      Merge branch 'mlx5-flow-mutate' into rdma.git for-next
      Merge branch 'uverbs_dev_cleanups' into rdma.git for-next
      IB/rxe: Revise the ib_wr_opcode enum
      RDMA/uverbs: Remove is_closed from ib_uverbs_file
      RDMA/uverbs: Fix error unwind in ib_uverbs_add_one
      RDMA/ucontext: Add a core API for mmaping driver IO memory
      RDMA/mlx4: Use rdma_user_mmap_io
      RDMA/mlx5: Use rdma_user_mmap_io
      RDMA/hns: Use rdma_user_mmap_io
      RDMA/ucontext: Get rid of the old disassociate flow
      RDMA/umem: Do not use current->tgid to track the mm_struct
      RDMA/usnic: Do not use ucontext->tgid
      RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP
      RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem
      RDMA/umem: Get rid of struct ib_umem.odp_data
      RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm
      RDMA/umem: Use umem->owning_mm inside ODP
      RDMA/umem: Get rid of per_mm->notifier_count
      RDMA/umem: Handle a half-complete start/end sequence
      RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path
      RDMA/uverbs: Get rid of ucontext->tgid
      Merge branch 'mellanox/mlx5-next' into rdma.git for-next
      RDMA: Fully setup the device name in ib_register_device
      RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev->name
      RDMA/drivers: Use dev_err/dbg/etc instead of pr_* + ibdev->name
      RDMA/core: Use dev_name instead of ibdev->name
      RDMA/drivers: Use dev_name instead of ibdev->name
      RDMA/ulp: Use dev_name instead of ibdev->name
      RDMA: Fix building with CONFIG_MMU=n
      RDMA/uverbs: Fix RCU annotation for radix slot deference
      Merge branch 'for-rc' into rdma.git for-next

Joe Perches (1):
      RDMA/bnxt_re: QPLIB: Add and use #define dev_fmt(fmt) "QPLIB: " fmt

Kaike Wan (3):
      IB/rdmavt: Rename check_send_wqe as setup_wqe
      IB/hfi1: Add static trace for iowait
      IB/hfi1: Use VL15 for SM packets

Kamal Heib (2):
      RDMA/rxe: Remove unused addr_same()
      RDMA: Remove unused parameter from ib_modify_qp_is_ok()

Kamenee Arumugam (1):
      IB/hfi1: PCIe bus width retry

Leon Romanovsky (17):
      RDMA/nes: Delete impossible debug prints
      RDMA/uverbs: Declare closing variable as boolean
      RDMA/umem: Restore lockdep check while downgrading lock
      RDMA/netlink: Simplify netlink listener existence check
      RDMA/restrack: Un-inline set task implementation
      RDMA/restrack: Consolidate task name updates in one place
      RDMA/restrack: Release task struct which was hold by CM_ID object
      RDMA/restrack: Protect from reentry to resource return path
      RDMA/cm: Respect returned status of cm_init_av_by_path
      RDMA/cma: Remove unused timeout_ms parameter from cma_resolve_iw_route()
      RDMA/core: Align multiple functions to kernel coding style
      RDMA/core: Annotate timeout as unsigned long
      RDMA/core: Implement IB device rename function
      RDMA/nldev: Allow IB device rename through RDMA netlink
      RDMA/core: Increase total number of RDMA ports across all devices
      RDMA/uverbs: Use kernel API to allocate uverbs indexes
      RDMA/umad: Use kernel API to allocate umad indexes

Lijun Ou (15):
      RDMA/hns: Refactor the codes for setting transport opode
      RDMA/hns: Add atomic support
      RDMA/hns: Add CM of vlan device support
      RDMA/hns: Add enable judgement for UD vlan
      RDMA/hns: Bugfix for reserved qp number
      RDMA/hns: Submit bad wr when post send wr exception
      RDMA/hns: Bugfix for CM test
      RDMA/hns: Limit the size of extend sge of sq
      RDMA/hns: Configure ecn field of ip header
      RDMA/hns: Update some attributes of the RoCE device
      RDMA/hns: Limit extend sq sge num
      RDMA/hns: Update some fields of qp context
      RDMA/hns: Support local invalidate for hip08 in kernel space
      RDMA/hns: Add vlan enable bit for hip08
      RDMA/hns: Bugfix for atomic operation

Majd Dibbiny (1):
      IB/mlx5: Change TX affinity assignment in RoCE LAG mode

Mark Bloch (23):
      RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language
      RDMA/mlx5: Add a new flow action verb - modify header
      RDMA/uverbs: Add generic function to fill in flow action object
      RDMA/mlx5: Add new flow action verb - packet reformat
      RDMA/mlx5: Extend packet reformat verbs
      RDMA/mlx5: Add NIC TX steering support
      RDMA/mlx5: Enable attaching modify header to steering flows
      RDMA/mlx5: Enable decap and packet reformat on flow tables
      RDMA/mlx5: Enable attaching DECAP action to steering flows
      RDMA/mlx5: Enable reformat on NIC RX if supported
      RDMA/mlx5: Enable attaching packet reformat action to steering flows
      RDMA/uverbs: Move flow resources initialization
      RDMA/mlx5: Refactor flow action parsing to be more generic
      RDMA/mlx5: Don't overwrite action if already set
      RDMA/mlx5: Refactor raw flow creation
      RDMA/mlx5: Add flow actions support to raw create flow
      RDMA/mlx5: Add NIC TX namespace when getting a flow table
      RDMA/mlx5: Allow creating a matcher for a NIC TX flow table
      RDMA/mlx5: Refactor transport domain bookkeeping logic
      RDMA/mlx5: Allow creating RAW ethernet QP with loopback support
      RDMA/mlx5: Enable vport loopback when user context or QP mandate
      RDMA/mlx5: Remove superfluous version print
      RDMA/mlx5: Add support for flow tag to raw create flow

Michael J. Ruhl (15):
      IB/hfi1: Remove duplicated defines
      IB/hfi1: tune_pcie_caps is arbitrarily placed, poorly
      IB/hfi1: Get the hfi1_devdata structure as early as possible
      IB/hfi1: Prepare for new HFI1 MSIx API
      IB/hfi1: Make the MSIx resource allocation a bit more flexible
      IB/hfi1: Rework the IRQ API to be more flexible
      IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl()
      IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting
      IB/hfi1: Eliminate races in the SDMA send error path
      IB/hfi1: Remove race conditions in user_sdma send path
      IB/hfi1: Right size user_sdma sequence numbers and related variables
      IB/hfi1: Missing return value in error path for user sdma
      IB/hfi1: set_intr_bits uses incorrect source for register modification
      IB/hfi1: Move UnsupportedVL bits definitions to the correct header
      IB/hfi1: Error path MAD response size is incorrect

Moni Shoua (1):
      IB/mlx5: Allow transition of DCI QP to reset

Muhammad Sammar (1):
      IB/ipoib: Ensure that MTU isn't less than minimum permitted

Nathan Chancellor (6):
      IB/nes: Remove unnecessary parentheses
      IB/mlx4: Remove unnecessary parentheses
      iw_cxgb4: Use proper enumerated type in c4iw_bar2_addrs
      RDMA/qedr: Remove enumerated type qed_roce_ll2_tx_dest
      IB/mlx4: Avoid implicit enumerated type conversion
      IB/rxe: Remove unnecessary enum values

Parav Pandit (44):
      IB/rxe: Simplify rxe_find_route() to avoid GID query for netdev
      IB/rxe: Replace spinlock with rwlock
      IB/rxe: Change pool state enums to capital letters
      IB/rxe: Avoid NULL check when search is successful
      IB/rxe: Refactor lookup memory function
      RDMA/core: Replace open-coded variant of get_device
      RDMA/core: Depend on device_add() to add device attributes
      RDMA/uverbs: Use cdev_device_add() instead of cdev_add()
      RDMA/uverbs: Use device.groups to initialize device attributes
      RDMA/core: Fail early if unsupported QP is provided
      IB/mlx5: Don't hold spin lock while checking device state
      RDMA/core: Rate limit MAD error messages
      RDMA/{cma, core}: Avoid callback on rdma_addr_cancel()
      RDMA/core: No need to protect kfree with spin lock and semaphore
      RDMA/core: Use simplified list_for_each
      RDMA/core: Remove context entries from list while unregistering device
      RDMA/core: Use simpler spin lock irq API from blocking context
      RDMA/core: Define client_data_lock as rwlock instead of spinlock
      RDMA/core: Follow correct unregister order between sysfs and cgroup
      RDMA/core: Assign device ifindex before publishing the device
      RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu
      RDMA/core: Avoid unnecessary sa_family overwrite
      RDMA/core: Let protocol specific function typecast sockaddr structure
      RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6
      RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr
      RDMA/core: Use common code flow for IPv4/6 for addr resolve
      RDMA/core: Refer to network type instead of device type
      RDMA/core: Protect against changing dst->dev during destination resolve
      RDMA/core: Simplify roce_resolve_route_from_path()
      RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute
      RDMA/core: Consider net ns of gid attribute for RoCE
      RDMA/core: Acquire and release mmap_sem on page range
      RDMA/cma: Allow accepting requests for multi port rdma device
      RDMA/cma: Introduce and use cma_acquire_dev_by_src_ip()
      RDMA/cma: Introduce and use cma_ib_acquire_dev()
      RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu
      IB/mlx4: Refer to the device kobject instead of ports_parent
      RDMA/core: Do not expose unsupported counters
      RDMA/core: Rename ports_parent to ports_kobj
      RDMA/core: Allow existing drivers to set one sysfs group per device
      RDMA/drivers: Use core provided API for registering device attributes
      RDMA/core: Fix unwinding flow in case of error to register device
      RDMA/core: Refactor ib_register_device() function
      RDMA/core: Fix comment for hw stats init for port == 0

Selvin Xavier (9):
      RDMA/bnxt_re: Add missing spin lock initialization
      RDMA/bnxt_re: Fix recursive lock warning in debug kernel
      RDMA/bnxt_re: Remove the unnecessary version macro definition
      RDMA/bnxt_re: Avoid NULL check after accessing the pointer
      RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case
      RDMA/bnxt_re: Expose rx discards and drop counters
      RDMA/bnxt_re: Report out of sequence hw counters
      RDMA/bnxt_re: Wait for delayed work to finish before device removal
      RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails

Somnath Kotur (1):
      RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print

Venkata Sandeep Dhanalakota (2):
      IB/{hfi1, qib, rdmavt}: Move send completion logic to rdmavt
      IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt

Vijay Immanuel (4):
      IB/rxe: vary the source udp port for receive scaling
      IB/rxe: fix for duplicate request processing and ack psns
      IB/rxe: avoid back-to-back retries
      IB/rxe: fixes for rdma read retry

Wei Yongjun (1):
      IB/mthca: Fix error return code in __mthca_init_one()

Yishai Hadas (20):
      IB/mlx5: Use uid as part of PD commands
      IB/mlx5: Set uid as part of QP creation
      IB/mlx5: Set uid as part of RQ commands
      IB/mlx5: Set uid as part of SQ commands
      IB/mlx5: Set uid as part of SRQ commands
      IB/mlx5: Set uid as part of DCT commands
      IB/mlx5: Set uid as part of MCG commands
      IB/mlx5: Set uid as part of TIR commands
      IB/mlx5: Set uid as part of TIS commands
      IB/mlx5: Set uid as part of RQT commands
      IB/mlx5: Set uid upon PD allocation
      IB/mlx5: Set uid as part of CQ creation
      IB/mlx5: Set uid as part of XRCD commands
      IB/mlx5: Set uid as part of TD commands
      IB/mlx5: Set valid umem bit on DEVX
      IB/mlx5: Expose RAW QP device handles to user space
      IB/mlx5: Manage device uid for DEVX white list commands
      IB/mlx5: Enable DEVX white list commands
      IB/mlx5: Enable DEVX on IB
      IB/mlx5: Verify DEVX object type

Yixian Liu (2):
      RDMA/hns: Add MW support for hip08
      RDMA/hns: Add FRMR support for hip08

Yonatan Cohen (4):
      IB/mlx5: Support scatter to CQE for DC transport type
      IB/mlx5: Verify that driver supports user flags
      IB/mlx5: Allow scatter to CQE without global signaled WRs
      IB/mlx5: Add support for extended atomic operations

YueHaibing (4):
      RDMA/qedr: remove set but not used variable 'ctx'
      RDMA: Remove duplicated include from ib_addr.h
      RDMA/core: Properly return the error code of rdma_set_src_addr_rcu
      RDMA/hns: remove set but not used variable 'dseg'

Zhu Yanjun (3):
      IB/rxe: remove redudant qpn check
      IB/rxe: replace kvfree with vfree
      IB/rxe: avoid srq memory leak

liuyixian (1):
      RDMA/hns: Move all prints out of irq handle

zhong jiang (2):
      infiniband: remove redundant condition check before debugfs_remove
      RDMA/cxgb4: remove redundant null pointer check before kfree_skb

 Documentation/ABI/testing/sysfs-class-net          |  18 +
 drivers/infiniband/Kconfig                         |   1 +
 drivers/infiniband/core/addr.c                     | 406 +++++++-----
 drivers/infiniband/core/cache.c                    |  79 ++-
 drivers/infiniband/core/cm.c                       |   9 +-
 drivers/infiniband/core/cma.c                      | 251 +++++---
 drivers/infiniband/core/cma_configfs.c             |   2 +-
 drivers/infiniband/core/core_priv.h                |  12 +-
 drivers/infiniband/core/cq.c                       |  10 +-
 drivers/infiniband/core/device.c                   | 264 +++++---
 drivers/infiniband/core/fmr_pool.c                 |   5 +-
 drivers/infiniband/core/iwcm.c                     |   2 +-
 drivers/infiniband/core/mad.c                      |  80 +--
 drivers/infiniband/core/mad_priv.h                 |   2 +-
 drivers/infiniband/core/netlink.c                  |   4 +-
 drivers/infiniband/core/nldev.c                    |  37 +-
 drivers/infiniband/core/rdma_core.c                |  56 +-
 drivers/infiniband/core/rdma_core.h                |   1 +
 drivers/infiniband/core/restrack.c                 |  30 +-
 drivers/infiniband/core/sa.h                       |   8 +-
 drivers/infiniband/core/sa_query.c                 |  70 +--
 drivers/infiniband/core/security.c                 |   7 +-
 drivers/infiniband/core/sysfs.c                    | 101 ++-
 drivers/infiniband/core/umem.c                     | 125 ++--
 drivers/infiniband/core/umem_odp.c                 | 621 +++++++++----------
 drivers/infiniband/core/user_mad.c                 |  13 +-
 drivers/infiniband/core/uverbs.h                   |  15 +-
 drivers/infiniband/core/uverbs_cmd.c               |  43 +-
 drivers/infiniband/core/uverbs_ioctl.c             | 140 ++++-
 drivers/infiniband/core/uverbs_main.c              | 340 +++++++++--
 .../infiniband/core/uverbs_std_types_flow_action.c |   7 +-
 drivers/infiniband/core/uverbs_uapi.c              |  12 +
 drivers/infiniband/core/verbs.c                    |  19 +-
 drivers/infiniband/hw/bnxt_re/bnxt_re.h            |   3 +-
 drivers/infiniband/hw/bnxt_re/hw_counters.c        |  11 +-
 drivers/infiniband/hw/bnxt_re/hw_counters.h        |   3 +
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |   4 +-
 drivers/infiniband/hw/bnxt_re/main.c               | 125 ++--
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           | 134 ++--
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c         |  88 +--
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h         |   4 +
 drivers/infiniband/hw/bnxt_re/qplib_res.c          |  29 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |  77 ++-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h           |  10 +
 drivers/infiniband/hw/bnxt_re/roce_hsi.h           |   5 +
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |  55 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   3 +-
 drivers/infiniband/hw/cxgb4/cq.c                   |   2 +-
 drivers/infiniband/hw/cxgb4/provider.c             |  50 +-
 drivers/infiniband/hw/cxgb4/qp.c                   |  10 +-
 drivers/infiniband/hw/hfi1/Makefile                |  42 +-
 drivers/infiniband/hw/hfi1/affinity.c              |   4 +-
 drivers/infiniband/hw/hfi1/chip.c                  | 486 ++++-----------
 drivers/infiniband/hw/hfi1/chip.h                  |  71 ++-
 drivers/infiniband/hw/hfi1/chip_registers.h        |   4 +
 drivers/infiniband/hw/hfi1/file_ops.c              |   4 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |  48 +-
 drivers/infiniband/hw/hfi1/init.c                  | 113 ++--
 drivers/infiniband/hw/hfi1/iowait.c                |  94 +++
 drivers/infiniband/hw/hfi1/iowait.h                | 192 ++++--
 drivers/infiniband/hw/hfi1/mad.c                   |   4 +-
 drivers/infiniband/hw/hfi1/msix.c                  | 363 +++++++++++
 drivers/infiniband/hw/hfi1/msix.h                  |  64 ++
 drivers/infiniband/hw/hfi1/pcie.c                  |  74 +--
 drivers/infiniband/hw/hfi1/pio.c                   |   8 -
 drivers/infiniband/hw/hfi1/qp.c                    | 100 ++-
 drivers/infiniband/hw/hfi1/qp.h                    |  31 +-
 drivers/infiniband/hw/hfi1/rc.c                    |  24 +-
 drivers/infiniband/hw/hfi1/ruc.c                   | 382 +-----------
 drivers/infiniband/hw/hfi1/sdma.c                  |  56 +-
 drivers/infiniband/hw/hfi1/sdma.h                  |  21 +-
 drivers/infiniband/hw/hfi1/sysfs.c                 |  69 +--
 drivers/infiniband/hw/hfi1/trace.h                 |   3 +-
 drivers/infiniband/hw/hfi1/trace_iowait.h          |  54 ++
 drivers/infiniband/hw/hfi1/uc.c                    |  14 +-
 drivers/infiniband/hw/hfi1/ud.c                    |  22 +-
 drivers/infiniband/hw/hfi1/user_sdma.c             | 137 ++---
 drivers/infiniband/hw/hfi1/user_sdma.h             |  20 +-
 drivers/infiniband/hw/hfi1/verbs.c                 | 251 +-------
 drivers/infiniband/hw/hfi1/verbs.h                 |  35 +-
 drivers/infiniband/hw/hfi1/verbs_txreq.h           |  11 +-
 drivers/infiniband/hw/hfi1/vnic_main.c             |  12 +-
 drivers/infiniband/hw/hfi1/vnic_sdma.c             |  21 +-
 drivers/infiniband/hw/hns/Kconfig                  |   1 +
 drivers/infiniband/hw/hns/hns_roce_ah.c            |   6 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |  45 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   4 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         | 629 ++++++++++++-------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |  96 ++-
 drivers/infiniband/hw/hns/hns_roce_main.c          | 123 ++--
 drivers/infiniband/hw/hns/hns_roce_mr.c            | 212 ++++++-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |  41 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |   2 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  73 +--
 drivers/infiniband/hw/mlx4/Kconfig                 |   1 +
 drivers/infiniband/hw/mlx4/mad.c                   |  20 +-
 drivers/infiniband/hw/mlx4/main.c                  | 182 ++----
 drivers/infiniband/hw/mlx4/mcg.c                   |   2 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |   5 -
 drivers/infiniband/hw/mlx4/qp.c                    |   8 +-
 drivers/infiniband/hw/mlx4/sysfs.c                 |   6 +-
 drivers/infiniband/hw/mlx5/cmd.c                   | 129 ++++
 drivers/infiniband/hw/mlx5/cmd.h                   |  14 +
 drivers/infiniband/hw/mlx5/cq.c                    |   3 +-
 drivers/infiniband/hw/mlx5/devx.c                  | 358 ++++++++---
 drivers/infiniband/hw/mlx5/flow.c                  | 393 +++++++++++-
 drivers/infiniband/hw/mlx5/ib_rep.c                |   3 -
 drivers/infiniband/hw/mlx5/main.c                  | 510 ++++++++--------
 drivers/infiniband/hw/mlx5/mem.c                   |   9 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  98 +--
 drivers/infiniband/hw/mlx5/mr.c                    |  14 +-
 drivers/infiniband/hw/mlx5/odp.c                   | 123 ++--
 drivers/infiniband/hw/mlx5/qp.c                    | 491 +++++++++++----
 drivers/infiniband/hw/mlx5/srq.c                   |   1 +
 drivers/infiniband/hw/mthca/mthca_mad.c            |   5 +-
 drivers/infiniband/hw/mthca/mthca_main.c           |   6 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |  44 +-
 drivers/infiniband/hw/mthca/mthca_qp.c             |   4 +-
 drivers/infiniband/hw/nes/nes.c                    |   3 -
 drivers/infiniband/hw/nes/nes.h                    |   9 -
 drivers/infiniband/hw/nes/nes_hw.c                 |   2 +-
 drivers/infiniband/hw/nes/nes_nic.c                |   2 -
 drivers/infiniband/hw/nes/nes_verbs.c              |  63 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |  74 +--
 drivers/infiniband/hw/ocrdma/ocrdma_stats.c        |   3 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   3 +-
 drivers/infiniband/hw/qedr/main.c                  |  73 +--
 drivers/infiniband/hw/qedr/qedr.h                  |   2 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   4 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   5 +-
 drivers/infiniband/hw/qib/qib.h                    |   2 +-
 drivers/infiniband/hw/qib/qib_qp.c                 |  17 +-
 drivers/infiniband/hw/qib/qib_rc.c                 |  18 +-
 drivers/infiniband/hw/qib/qib_ruc.c                | 342 +----------
 drivers/infiniband/hw/qib/qib_sdma.c               |   2 +-
 drivers/infiniband/hw/qib/qib_sysfs.c              | 101 ++-
 drivers/infiniband/hw/qib/qib_uc.c                 |  12 +-
 drivers/infiniband/hw/qib/qib_ud.c                 |  17 +-
 drivers/infiniband/hw/qib/qib_verbs.c              |  47 +-
 drivers/infiniband/hw/qib/qib_verbs.h              |  15 +-
 drivers/infiniband/hw/usnic/usnic_debugfs.c        |   3 +-
 drivers/infiniband/hw/usnic/usnic_ib_main.c        |  39 +-
 drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |  74 +--
 drivers/infiniband/hw/usnic/usnic_ib_sysfs.h       |   2 +
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |  16 +-
 drivers/infiniband/hw/usnic/usnic_transport.c      |   2 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |  91 ++-
 drivers/infiniband/hw/usnic/usnic_uiom.h           |   3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |  46 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |   2 +-
 drivers/infiniband/sw/rdmavt/Kconfig               |   2 +-
 drivers/infiniband/sw/rdmavt/qp.c                  | 677 ++++++++++++++++++++-
 drivers/infiniband/sw/rdmavt/qp.h                  |   2 +
 drivers/infiniband/sw/rdmavt/trace_tx.h            |  42 ++
 drivers/infiniband/sw/rdmavt/vt.c                  |  15 +-
 drivers/infiniband/sw/rxe/rxe.c                    |  13 +-
 drivers/infiniband/sw/rxe/rxe_comp.c               |  39 +-
 drivers/infiniband/sw/rxe/rxe_cq.c                 |   4 +-
 drivers/infiniband/sw/rxe/rxe_loc.h                |   5 +-
 drivers/infiniband/sw/rxe/rxe_mr.c                 |  35 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |  49 +-
 drivers/infiniband/sw/rxe/rxe_param.h              |   4 -
 drivers/infiniband/sw/rxe/rxe_pool.c               |  55 +-
 drivers/infiniband/sw/rxe/rxe_pool.h               |   6 +-
 drivers/infiniband/sw/rxe/rxe_qp.c                 |  18 +-
 drivers/infiniband/sw/rxe/rxe_recv.c               |   4 +-
 drivers/infiniband/sw/rxe/rxe_req.c                |  17 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |  10 +-
 drivers/infiniband/sw/rxe/rxe_srq.c                |  10 +-
 drivers/infiniband/sw/rxe/rxe_sysfs.c              |   2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |  29 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |   4 +
 drivers/infiniband/ulp/ipoib/ipoib_cm.c            |   8 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |  36 +-
 drivers/infiniband/ulp/ipoib/ipoib_verbs.c         |   2 +-
 drivers/infiniband/ulp/iser/iser_initiator.c       |  18 +-
 drivers/infiniband/ulp/iser/iser_verbs.c           |   9 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |   2 +-
 drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c   |   3 +-
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c    |   3 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |  19 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |  28 +-
 include/linux/mlx5/driver.h                        |  23 +-
 include/linux/qed/qed_rdma_if.h                    |  11 +-
 include/rdma/ib_addr.h                             |  11 +-
 include/rdma/ib_cm.h                               |   2 +-
 include/rdma/ib_sa.h                               |  38 +-
 include/rdma/ib_umem.h                             |   9 +-
 include/rdma/ib_umem_odp.h                         |  75 +--
 include/rdma/ib_verbs.h                            | 149 +++--
 include/rdma/rdma_cm.h                             |  11 +-
 include/rdma/rdma_netlink.h                        |   4 +-
 include/rdma/rdma_vt.h                             |  51 +-
 include/rdma/rdmavt_qp.h                           |   7 +
 include/rdma/restrack.h                            |  12 +-
 include/rdma/uverbs_ioctl.h                        | 111 +++-
 include/rdma/uverbs_std_types.h                    |  51 ++
 include/uapi/rdma/ib_user_verbs.h                  |  20 +-
 include/uapi/rdma/mlx5-abi.h                       |  16 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |  21 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h          |  12 +
 include/uapi/rdma/rdma_netlink.h                   |   3 +-
 include/uapi/rdma/rdma_user_ioctl_cmds.h           |   7 +-
 204 files changed, 7618 insertions(+), 5190 deletions(-)
(diffstat from tag for-linus-merged)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-09-27 18:24 Jason Gunthorpe
@ 2018-09-27 20:17 ` Greg Kroah-Hartman
  0 siblings, 0 replies; 77+ messages in thread
From: Greg Kroah-Hartman @ 2018-09-27 20:17 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel

On Thu, Sep 27, 2018 at 12:24:32PM -0600, Jason Gunthorpe wrote:
> Hi Greg,
> 
> Second rc pull request
> 
> This has a few fixes for smaller regressions introduced this cycle and
> the usual various driver oops fixes.
> 
> There is one long standing race bug in the comp_channel that Steve was
> able to reproduce, track down and fix.
> 
> I believe the HFI1 driver regression breakage has been fixed in
> Bjorn's tree and I'm currently expecting the lingering ipoib issue to
> be fixed in the netdev tree, but patches are still delayed due to
> various holidays this month.
> 
> Thanks,
> Jason
> 
> The following changes since commit 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:
> 
>   RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

Now pulled, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-09-27 18:24 Jason Gunthorpe
  2018-09-27 20:17 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-09-27 18:24 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3180 bytes --]

Hi Greg,

Second rc pull request

This has a few fixes for smaller regressions introduced this cycle and
the usual various driver oops fixes.

There is one long standing race bug in the comp_channel that Steve was
able to reproduce, track down and fix.

I believe the HFI1 driver regression breakage has been fixed in
Bjorn's tree and I'm currently expecting the lingering ipoib issue to
be fixed in the netdev tree, but patches are still delayed due to
various holidays this month.

Thanks,
Jason

The following changes since commit 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:

  RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 5c5702e259dc66e6fceed5117effab79c186e87a:

  RDMA/core: Set right entry state before releasing reference (2018-09-25 15:01:09 -0600)

----------------------------------------------------------------
Second rc pull request

- Fix a long standing race bug when destroying comp_event file descriptors

- srp, hfi1, bnxt_re: Various driver crashes from missing validation and
  other cases

- Fixes for regressions in patches merged this window in the gid cache,
  devx, ucma and uapi.

----------------------------------------------------------------
Bart Van Assche (1):
      IB/srp: Avoid that sg_reset -d ${srp_device} triggers an infinite loop

Cong Wang (1):
      ucma: fix a use-after-free in ucma_resolve_ip()

Ira Weiny (1):
      IB/hfi1: Fix SL array bounds check

Majd Dibbiny (1):
      RDMA/uverbs: Fix validity check for modify QP

Mark Bloch (1):
      IB/uverbs: Free uapi on destroy

Michael J. Ruhl (3):
      IB/hfi1: Invalid user input can result in crash
      IB/hfi1: Fix context recovery when PBC has an UnsupportedVL
      IB/hfi1: Fix destroy_qp hang after a link down

Parav Pandit (1):
      RDMA/core: Set right entry state before releasing reference

Selvin Xavier (1):
      RDMA/bnxt_re: Fix system crash during RDMA resource initialization

Steve Wise (2):
      cxgb4: fix abort_req_rss6 struct
      RDMA/uverbs: Atomically flush and mark closed the comp event queue

Yishai Hadas (1):
      IB/mlx5: Destroy the DEVX object upon error flow

 drivers/infiniband/core/cache.c             | 68 ++++++++++-----------
 drivers/infiniband/core/ucma.c              |  2 +
 drivers/infiniband/core/uverbs_cmd.c        | 68 ++++++++++++++-------
 drivers/infiniband/core/uverbs_main.c       |  1 +
 drivers/infiniband/core/uverbs_uapi.c       |  1 +
 drivers/infiniband/hw/bnxt_re/main.c        | 93 ++++++++++++-----------------
 drivers/infiniband/hw/hfi1/chip.c           |  6 +-
 drivers/infiniband/hw/hfi1/pio.c            | 51 ++++++++++++----
 drivers/infiniband/hw/hfi1/pio.h            |  2 +
 drivers/infiniband/hw/hfi1/user_sdma.c      |  2 +-
 drivers/infiniband/hw/hfi1/verbs.c          |  8 ++-
 drivers/infiniband/hw/mlx5/devx.c           |  5 +-
 drivers/infiniband/ulp/srp/ib_srp.c         |  6 +-
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h |  1 -
 14 files changed, 184 insertions(+), 130 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-09-10 23:04 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-09-10 23:04 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

Hi Linus,

This fixes one major regression with NFS and mlx4 due to the max_sg
rework in this merge window, tidies a few minor error_path
regressions, and various small fixes.

The HFI1 driver is broken this cycle due to a regression caused by a
PCI change, it is looking like Bjorn will merge a fix for this. Also,
the lingering ipoib issue I mentioned earlier still remains unfixed.

The following changes since commit 57361846b52bc686112da6ca5368d11210796804:

  Linux 4.19-rc2 (2018-09-02 14:37:30 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:

  RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)

----------------------------------------------------------------
First rc pull request

- Fix possible FD type confusion crash

- Fix a user trigger-able crash in cxgb4

- Fix bad handling of IOMMU resources causing user controlled leaking in
  bnxt

- Add missing locking in ipoib to fix a rare 'stuck tx' situation

- Add missing locking in cma

- Add two missing missing uverbs cleanups on failure paths, regressions
  from this merge window

- Fix a regression from this merge window that caused RDMA NFS to not work
  with the mlx4 driver due to the max_sg changes

----------------------------------------------------------------
Aaron Knister (1):
      IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler

Artemy Kovalyov (1):
      IB/core: Release object lock if destroy failed

Jann Horn (1):
      RDMA/ucma: check fd type in ucma_migrate_id()

Leon Romanovsky (1):
      RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW

Parav Pandit (2):
      RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one()
      RDMA/cma: Protect cma dev list with lock

Somnath Kotur (1):
      bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces

Steve Wise (1):
      iw_cxgb4: only allow 1 flush on user qps

 drivers/infiniband/core/cma.c            | 12 +++++++-----
 drivers/infiniband/core/rdma_core.c      |  2 ++
 drivers/infiniband/core/ucma.c           |  6 ++++++
 drivers/infiniband/core/uverbs_main.c    |  5 ++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c |  2 ++
 drivers/infiniband/hw/bnxt_re/qplib_fp.c |  2 +-
 drivers/infiniband/hw/cxgb4/qp.c         |  6 ++++++
 drivers/infiniband/hw/mlx4/main.c        |  8 +++++---
 drivers/infiniband/ulp/ipoib/ipoib_cm.c  |  2 ++
 9 files changed, 33 insertions(+), 12 deletions(-)

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-08-22 21:44 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-08-22 21:44 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1466 bytes --]

Hi Linus,

Second merge window pull request

This is the SMC cleanup promised, a randconfig regression fix, and kernel oops
fix.

I've learned we have at least one regression this merge window in IPoIB,
which people are working on.

The following changes since commit 0a3173a5f09bc58a3638ecfd0a80bdbae55e123c:

  Merge branch 'linus/master' into rdma.git for-next (2018-08-16 14:21:29 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 845b397a7771f2d3504beff5521f452be0d22eec:

  IB/ucm: fix UCM link error (2018-08-21 16:56:32 -0600)

----------------------------------------------------------------
Second merge window update

- Switch SMC over to rdma_get_gid_attr and remove the compat

- Fix a crash in HFI1 with some BIOS's

- Fix a randconfig failure

----------------------------------------------------------------
Arnd Bergmann (1):
      IB/ucm: fix UCM link error

Jason Gunthorpe (1):
      RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr

Michael J. Ruhl (1):
      IB/hfi1: Invalid NUMA node information can cause a divide by zero

 drivers/infiniband/Kconfig            |  2 +-
 drivers/infiniband/hw/hfi1/affinity.c | 24 +++++++++++++++---
 include/rdma/ib_cache.h               | 24 ------------------
 net/smc/smc_ib.c                      | 48 ++++++++++++++++++-----------------
 4 files changed, 47 insertions(+), 51 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 21:16       ` Jason Gunthorpe
@ 2018-08-17 23:56         ` Linus Torvalds
  0 siblings, 0 replies; 77+ messages in thread
From: Linus Torvalds @ 2018-08-17 23:56 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 2:17 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> Would you like a patch to remove that CONFIG option?

I've definitely considered it and would almost certainly just apply a
patch that removed it.

We haven't had this issue for a while (because people stopped using
the deprecated thing), so it ended up not having been an issue lately.
Yours was the first case of deprecation warnings I've seen in a
longish while.

          Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 20:27     ` Linus Torvalds
@ 2018-08-17 21:27       ` Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-08-17 21:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 01:27:02PM -0700, Linus Torvalds wrote:
> On Fri, Aug 17, 2018 at 1:15 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > We often have merge conflicts with RDMA, how do you prefer to get the
> > PR? I'm actually not very clear on this part of the process.
> 
> I  generally prefer the non-merged version, but with comments about
> the conflicts.
> 
> In fact, the really preferred model is generally to send me a
> non-merged pull request (say "tags/for-linus") but if the conflicts
> look even half-way nasty - or simply because you did the merge anyway
> just to get the proper diffstat because history is complex - mention
> that you have a merged branch for verification (say
> "branch/for-linus-merged").
> 
> When I get that kind of pull request, I'll just do the merge
> resolution myself, and after I've done it I'll generally then do
> 
>    git checkout -b test-merge
>    git pull <repoaddress> for-linus-merged
> 
> and then just compare the end result with my resolution as an extra
> verification step.
> 
> I may end up skipping the verification step if everything looks
> entirely trivial (and really, if you have no real reason for the
> pre-merged branch, don't bother even mentioning it even if you did it
> for the diffstat), but in practice whenever somebody does that, I have
> no reason not to just do that simple extra verification.
> 
> Most of the time the merges are exactly the same, possibly with
> whitespace or trivial ordering differences (things like Makefiles and
> Kconfig files often have add-add conflicts where the ordering really
> doesn't matter between two config options).
> 
> And then sometimes it shows that I missed something in my mmerge.
> 
> And sometimes it shows that  I do so many merges that I actually ended
> up noticing something that the submaintainer didn't.
> 
> So it can be uninteresting, and when it isn't uninteresting it can go
> either way, but so far for the people who do this, I've never been in
> the situation where I was *sorry* for the double merge and extra
> verification step.
> 
> Because when mis-merges happen (they are happily pretty rare) they are
> _so_ annoying and can be so hard to figure out later, that I'd rather
> spend a bit more time on the merge than have a dodgy one.

Thanks for the explanation. Doug and I will do this in future.

Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 20:50     ` Linus Torvalds
@ 2018-08-17 21:16       ` Jason Gunthorpe
  2018-08-17 23:56         ` Linus Torvalds
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-08-17 21:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 01:50:05PM -0700, Linus Torvalds wrote:
> On Fri, Aug 17, 2018 at 12:44 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > Ok, everything but the max_sge thing was trivial. I just took yours.
> 
> Oh, and doing the full test compile, I notice there  are new warnings.
>
> That is *NOT* ok.

I expect to send you a pull request to remove all of this next
week. This is fall out from the SMC merge conflict reversion.

> The whole "x is deprecated" is not a useful warning. If you can't
> remove something, making it a reminder for yourself for later is not
> an acceptable excuse for  bothering everybody else with the warning,
> and possibly having other issues hidden because by the time there are
> expected warnings, people will start ignoring the unexpected ones too.
> 
> So "__deprecated" is for stuff that really isn't used any more, to
> catch possible new users. People have tried to use it for anything
> else, but it's always  been a much bigger pain than it is worth.

In this case it has become confusing what
CONFIG_ENABLE_WARN_DEPRECATED is for.

If the kernel is supposed to compile warning free with that config
set, then why have the config at all - it does nothing, by definition?

Would you like a patch to remove that CONFIG option?

Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 19:44   ` Linus Torvalds
@ 2018-08-17 20:50     ` Linus Torvalds
  2018-08-17 21:16       ` Jason Gunthorpe
  0 siblings, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2018-08-17 20:50 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 12:44 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Ok, everything but the max_sge thing was trivial. I just took yours.

Oh, and doing the full test compile, I notice there  are new warnings.

That is *NOT* ok.

The whole "x is deprecated" is not a useful warning. If you can't
remove something, making it a reminder for yourself for later is not
an acceptable excuse for  bothering everybody else with the warning,
and possibly having other issues hidden because by the time there are
expected warnings, people will start ignoring the unexpected ones too.

So "__deprecated" is for stuff that really isn't used any more, to
catch possible new users. People have tried to use it for anything
else, but it's always  been a much bigger pain than it is worth.

I've considered just removing the whole deprecation infrastructure. It
has never really worked. Either its used, in which case deprecation
warnings only hide real issues, or it's not used, in which case the
function should just be removed.

               Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 20:15   ` Jason Gunthorpe
@ 2018-08-17 20:27     ` Linus Torvalds
  2018-08-17 21:27       ` Jason Gunthorpe
  0 siblings, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2018-08-17 20:27 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 1:15 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> We often have merge conflicts with RDMA, how do you prefer to get the
> PR? I'm actually not very clear on this part of the process.

I  generally prefer the non-merged version, but with comments about
the conflicts.

In fact, the really preferred model is generally to send me a
non-merged pull request (say "tags/for-linus") but if the conflicts
look even half-way nasty - or simply because you did the merge anyway
just to get the proper diffstat because history is complex - mention
that you have a merged branch for verification (say
"branch/for-linus-merged").

When I get that kind of pull request, I'll just do the merge
resolution myself, and after I've done it I'll generally then do

   git checkout -b test-merge
   git pull <repoaddress> for-linus-merged

and then just compare the end result with my resolution as an extra
verification step.

I may end up skipping the verification step if everything looks
entirely trivial (and really, if you have no real reason for the
pre-merged branch, don't bother even mentioning it even if you did it
for the diffstat), but in practice whenever somebody does that, I have
no reason not to just do that simple extra verification.

Most of the time the merges are exactly the same, possibly with
whitespace or trivial ordering differences (things like Makefiles and
Kconfig files often have add-add conflicts where the ordering really
doesn't matter between two config options).

And then sometimes it shows that I missed something in my mmerge.

And sometimes it shows that  I do so many merges that I actually ended
up noticing something that the submaintainer didn't.

So it can be uninteresting, and when it isn't uninteresting it can go
either way, but so far for the people who do this, I've never been in
the situation where I was *sorry* for the double merge and extra
verification step.

Because when mis-merges happen (they are happily pretty rare) they are
_so_ annoying and can be so hard to figure out later, that I'd rather
spend a bit more time on the merge than have a dodgy one.

               Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 19:31 ` Linus Torvalds
  2018-08-17 19:44   ` Linus Torvalds
@ 2018-08-17 20:15   ` Jason Gunthorpe
  2018-08-17 20:27     ` Linus Torvalds
  1 sibling, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-08-17 20:15 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 12:31:00PM -0700, Linus Torvalds wrote:
> On Thu, Aug 16, 2018 at 2:57 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > This time there are many merge conflicts, all due to various tree-wide or RDMA
> > subystem wide changes done by various people. The resolution is tricky, as git
> > does not highlight two areas that need revision.
> 
> I was confused by this, because there were no merge conflicts.
> 
> Then I looked at the history, and the reason is that you actually
> pushed the for-next branch into the for-linus branch, and so I got the
> pre-merged version.

Er, yes, sorry, I made a typo in my email, it should have read "As
before I've resolved the conflicts in the for-linus tag and provided
the unmerged tree in the for-linus-unmerged tag"

> Oh well. I'll look at what the conflicts were, but may end up just
> taking your resolution.

We often have merge conflicts with RDMA, how do you prefer to get the
PR? I'm actually not very clear on this part of the process.

Historically, when we have conflicts, I've given you a tag
'for-linus-unmerged', a text description of the conflicts with merge
diff hunks, and then a tag 'for-linus' which contains the full
resolution I used and checked (based on linux-next).

In the past you've taken from both tags, I think, depending on how
the resolution looks?

I generate the 'git request-pull' against the 'for-linus' tag only
because the diffstat of the resolved branch is closer to what you'll
actually see during merge. Otherwise there are always misleading
netdev changes due to the shared branches with netdev.

If you don't care about the diffstat I'll switch to 'for-linus' and
'for-linus-resolved' tags so you won't accidentally get any resolution
commit unless you want it.

Thanks,
Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-17 19:31 ` Linus Torvalds
@ 2018-08-17 19:44   ` Linus Torvalds
  2018-08-17 20:50     ` Linus Torvalds
  2018-08-17 20:15   ` Jason Gunthorpe
  1 sibling, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2018-08-17 19:44 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Fri, Aug 17, 2018 at 12:31 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Oh well. I'll look at what the conflicts were, but may end up just
> taking your resolution.

Ok, everything but the max_sge thing was trivial. I just took yours.

            Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-08-16 21:57 Jason Gunthorpe
@ 2018-08-17 19:31 ` Linus Torvalds
  2018-08-17 19:44   ` Linus Torvalds
  2018-08-17 20:15   ` Jason Gunthorpe
  0 siblings, 2 replies; 77+ messages in thread
From: Linus Torvalds @ 2018-08-17 19:31 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List

On Thu, Aug 16, 2018 at 2:57 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> This time there are many merge conflicts, all due to various tree-wide or RDMA
> subystem wide changes done by various people. The resolution is tricky, as git
> does not highlight two areas that need revision.

I was confused by this, because there were no merge conflicts.

Then I looked at the history, and the reason is that you actually
pushed the for-next branch into the for-linus branch, and so I got the
pre-merged version.

Oh well. I'll look at what the conflicts were, but may end up just
taking your resolution.

           Linus

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-08-16 21:57 Jason Gunthorpe
  2018-08-17 19:31 ` Linus Torvalds
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-08-16 21:57 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 50423 bytes --]

Hi Linus,

Here are the RDMA patches for 4.19.

This time there are many merge conflicts, all due to various tree-wide or RDMA
subystem wide changes done by various people. The resolution is tricky, as git
does not highlight two areas that need revision.

An overview of the conflicts:
 - Mark Rutland renamed __atomic_add_unless() conflicting with major rework of
   rdma_core.c
 - Steve Wise split ib_device_attr.max_sge into max_send_sge and max_recv_sge,
   and updated all ULPs. This clashed with other changes in the NVMe over
   fabrics driver adding new users of max_sge. This is tricky as the correct
   use of send/recv in the merge is essential. Christoph Hellwig has reviewded
   this resolution in linux-next
 - Bart did a tree wide change to use NULL for the last argument in
   ibv_post_send(), clashing with various RDP ULP changes in netdev
 - Parav revised the ugly ib_query_gid API with something saner and
   did a treewide update. This clashed horribly with general work on the SMC
   code in netdev. We've handled this by providing a compat ib_query_gid wrapper
   and reverting the SMC changes in rdma.git, so no merge fixup neeed.
   However, I will send a cleanup for this to remove the wrapper as soon as
   possible.
 - Various small conflicts between RDMA -rc and -next resolved by merging the
   v4.18 tag.

Notably we have again avoided the historical merge conflicts in the Mellanox
drivers with the new 'shared branch' arrangement with DaveM, this seems to be
working well.

The above tree wide changes explain most of the hunks outside the tree, the
only other cases are a new function check_shl_overflow() in
include/linux/overflow.h ack'd by Kees and an edit to idr.h from Matthew Wilcox
that was needed for other patches he sent to the RDMA tree.

As before I've resolved the conflicts in the for-next tag (this makes the
diffstat below more accurate) and provided the unmerged tree in the
for-linus-unmerged tag. The merge resolution diff is a bit big so it is
included at the end of this message for your reference.

The following changes since commit 5c60a7389d795e001c8748b458eb76e3a5b6008c:

  Merge tag 'for-linus-4.19-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux (2018-08-16 10:53:45 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 0a3173a5f09bc58a3638ecfd0a80bdbae55e123c:

  Merge branch 'linus/master' into rdma.git for-next (2018-08-16 14:21:29 -0600)

----------------------------------------------------------------
This has been a large cycle for RDMA, with several major patch series
reworking parts of the core code.

- Rework the so-called 'gid cache' and internal APIs to use a kref'd
  pointer to a struct instead of copying, push this upwards into the
  callers and add more stuff to the struct. The new design avoids some
  ugly races the old one suffered with. This is part of the namespace
  enablement work as the new struct is learning to be namespace aware.

- Various uapi cleanups, moving more stuff to include/uapi and fixing some
  long standing bugs that have recently been discovered.

- Driver updates for mlx5, mlx4 i40iw, rxe, cxgb4, hfi1, usnic, pvrdma,
  and hns

- Provide max_send_sge and max_recv_sge attributes to better support HW
  where these values are asymmetric.

- mlx5 user API 'devx' allows sending commands directly to the device FW,
  instead of trying to cram every wild and niche feature into the common
  API. Sort of like what GPU does.

- Major write() and ioctl() API rework to cleanly support PCI device hot
  unplug and advance the ioctl conversion work

- Sparse and compile warning cleanups

- Add 'const' to the ib_poll_cq() signature, and permit a NULL 'bad_wr',
  which is the common use case

- Various patches to avoid high order allocations across the stack

- SRQ support for cxgb4, hns and qedr

- Changes to IPoIB to better follow the netdev model for working with
  struct net_device liftime

----------------------------------------------------------------
Arnd Bergmann (1):
      infiniband: i40iw, nes: don't use wall time for TCP sequence numbers

Artemy Kovalyov (2):
      RDMA: Validate grh_required when handling AVs
      IB/uverbs: Pass IB_UVERBS_QPF_GRH_REQUIRED to user space

Bart Van Assche (51):
      MAINTAINERS: Update SRP entries
      IB/srpt: Support HCAs with more than two ports
      include/rdma/opa_addr.h: Fix an endianness issue
      IB/srp: Remove driver version and release data information
      IB/mlx5: Remove set-but-not-used variables
      ib_srpt: Fix a use-after-free in srpt_close_ch()
      ib_srpt: Fix a use-after-free in __srpt_close_all_ch()
      RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port()
      RDMA/core: Remove set-but-not-used variables
      IB/nes: Fix a compiler warning
      RDMA/ocrdma: Remove a set-but-not-used variable
      IB/iser: Remove set-but-not-used variables
      RDMA/rxe: Simplify the error handling code in rxe_create_ah()
      RDMA/cxgb3: Make iwch_poll_cq_one() easier to analyze
      RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze
      RDMA/rw: Fix rdma_rw_ctx_signature_init() kernel-doc header
      RDMA/nes: Avoid complaints about unused variables
      RDMA/ocrdma: Make ocrdma_destroy_qp() easier to analyze
      IB/hfi1: Suppress a compiler warning
      hns: Remove a set-but-not-used variable
      IB/srpt: Fix srpt_cm_req_recv() error path (1/2)
      IB/srpt: Fix srpt_cm_req_recv() error path (2/2)
      RDMA/bnxt_re: Modify a fall-through annotation
      MAINTAINERS: Remove Dave Goodell from the usnic RDMA driver maintainer list
      IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument
      RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls
      IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls
      IB/iser: Simplify ib_post_(send|recv|srq_recv)() calls
      IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls
      IB/srp: Simplify ib_post_(send|recv|srq_recv)() calls
      IB/srpt: Simplify ib_post_(send|recv|srq_recv)() calls
      nvme-rdma: Simplify ib_post_(send|recv|srq_recv)() calls
      nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls
      fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls
      net/9p: Simplify ib_post_(send|recv|srq_recv)() calls
      net/rds: Remove two WARN_ON() statements
      net/rds: Simplify ib_post_(send|recv|srq_recv)() calls
      net/smc: Remove a WARN_ON() statement
      net/smc: Simplify ib_post_(send|recv|srq_recv)() calls
      net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls
      RDMA/ocrdma: Suppress a compiler warning
      RDMA/usnic: Suppress a compiler warning
      IB/iser: Inline two work request conversion functions
      RDMA: Constify the argument of the work request conversion functions
      IB/mlx5, ib_post_send(), IB_WR_REG_SIG_MR: Do not modify the 'wr' argument
      RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const
      rdma/cxgb4: Remove a set-but-not-used variable
      rdma/cxgb4: Fix SRQ endianness annotations
      rdma/cxgb4: Simplify a structure initialization
      RDMA/rxe: Set wqe->status correctly if an unexpected response is received
      Update the e-mail address of Bart Van Assche

Bharat Potnuri (1):
      iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen()

Dan Carpenter (4):
      IB/core: type promotion bug in rdma_rw_init_one_mr()
      RDMA/bnxt_re: Fix a couple off by one bugs
      RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c
      rdma/cxgb4: fix some info leaks

Denis Drozdov (1):
      IB/IPoIB: Set ah valid flag in multicast send flow

Erez Shitrit (1):
      IB/ipoib: Use cancel_delayed_work_sync for neigh-clean task

Gal Pressman (1):
      RDMA/hns: Fix usage of bitmap allocation functions return values

Håkon Bugge (1):
      IB/cm: Remove unused and erroneous msg sequence encoding

Jack Morgenstein (1):
      IB/mlx4: Use 4K pages for kernel QP's WQE buffer

Jan Dakinevich (2):
      ib_srpt: use kvmalloc to allocate ring pointers
      IPoIB: use kvzalloc to allocate an array of bucket pointers

Jann Horn (1):
      IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers

Jason Gunthorpe (90):
      IB/core: Provide rdma_ versions of the gid cache API
      IB/core: Make rdma_find_gid_by_filter support all protocols
      IB/rxe: Do not hide uABI stuff in memcpy
      IB/core: Add a sgid_attr pointer to struct rdma_ah_attr
      IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs
      RDMA: Hold the sgid_attr inside the struct ib_ah/qp
      Merge branch 'mellanox/mlx5-next' into RDMA for-next
      Merge branch 'icrc-counter' into rdma.git for-next
      IB/uverbs: Delete type and id from uverbs_obj_attr
      RDMA/core: Remove unused ib cache functions
      IB/usnic: Update with bug fixes from core code
      RDMA/uverbs: Check existence of create_flow callback
      IB/mlx4: Create slave AH's directly
      IB/core: Check for rdma_protocol_ib only after validating port_num
      IB/cm: Remove now useless rcu_lock in dst_fetch_ha
      Merge branch 'mlx5-dump-fill-mkey' into rdma.git for-next
      RDMA/uverbs: Store the specs_root in the struct ib_uverbs_device
      RDMA/uverbs: Split UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE
      RDMA/uverbs: Simplify UVERBS_ATTR family of macros
      RDMA/uverbs: Simplify method definition macros
      RDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros
      RDMA/uverbs: Get rid of the & in method specifications
      RDMA/uverbs: Remove UA_FLAGS
      RDMA/uverbs: Use UVERBS_ATTR_MIN_SIZE correctly and uniformly
      RDMA/uverbs: Combine MIN_SZ_OR_ZERO with UVERBS_ATTR_STRUCT
      IB/uverbs: Add a uobj_perform_destroy helper
      IB/uverbs: Move non driver related elements from ib_ucontext to ib_ufile
      IB/uverbs: Replace ib_ucontext with ib_uverbs_file in core function calls
      IB/uverbs: Replace file->ucontext with file in uverbs_cmd.c
      IB/uverbs: Tidy up remaining references to ucontext
      IB/uverbs: Remove ib_uobject_file
      IB/uverbs: Replace ib_ucq_object uverbs_file with the one in ib_uobject
      IB/uverbs: Do not use uverbs_cmd_mask in the ioctl path
      RDMA: Fix storage of PortInfo CapabilityMask in the kernel
      RDMA/hfi1: Move grh_required into update_sm_ah
      RDMA/cxgb4: Restore the dropped uninitialized_var
      IB/cm: Remove cma_multicast->igmp_joined
      IB/uverbs: Move ib_access_flags and ib_read_counters_flags to uapi
      Merge branch 'mellanox/mlx5-next' into rdma.git for-next
      IB/uverbs: Get rid of null_obj_type
      IB/uverbs: Handle IDR and FD types without truncation
      IB/uverbs: Clarify the kref'ing ordering for alloc_commit
      IB/uverbs: Revise the placement of get/puts on uobject
      IB/uverbs: Clarify and revise uverbs_close_fd
      IB/uverbs: Revise and clarify the rwsem and uobjects_lock
      IB/uverbs: Rework the locking for cleaning up the ucontext
      IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject()
      IB/uverbs: Move the FD uobj type struct file allocation to alloc_commit
      IB/mlx5: Use the ucontext from the uobj, not the file
      IB/uverbs: Fix locking around struct ib_uverbs_file ucontext
      IB/usnic: usnic should not select INFINIBAND_USER_ACCESS
      net/xprtrdma: Restore needed argument to ib_post_send
      IB/cache: Restore compatibility for ib_query_gid
      IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language
      IB/uverbs: Remove rdma_explicit_destroy() from the ioctl methods
      IB/uverbs: Make the write path destroy methods use the same flow as ioctl
      IB/uverbs: Consolidate uobject destruction
      IB/uverbs: Convert 'bool exclusive' into an enum
      IB/uverbs: Allow RDMA_REMOVE_DESTROY to work concurrently with disassociate
      IB/uverbs: Allow uobject allocation to work concurrently with disassociate
      IB/uverbs: Lower the test for ongoing disassociation
      IB/uverbs: Do not pass struct ib_device to the write based methods
      IB/uverbs: Do not pass struct ib_device to the ioctl methods
      IB/uverbs: Do not block disassociate during write()
      IB/uverbs: Allow all DESTROY commands to succeed after disassociate
      IB/ipoib: Get rid of IPOIB_FLAG_GOING_DOWN
      IB/ipoib: Move all uninit code into ndo_uninit
      IB/ipoib: Move init code to ndo_init
      RDMA/netdev: Use priv_destructor for netdev cleanup
      IB/ipoib: Get rid of the sysfs_mutex
      IB/ipoib: Do not remove child devices from within the ndo_uninit
      IB/ipoib: Maintain the child_intfs list from ndo_init/uninit
      IB/ipoib: Consolidate checking of the proposed child interface
      overflow.h: Add arithmetic shift helper
      IB/uverbs: Fix reading of 32 bit flags
      IB/uverbs: Have the core code create the uverbs_root_spec
      IB/uverbs: Build the specs into a radix tree at runtime
      IB/uverbs: Use uverbs_api to manage the object type inside the uobject
      IB/uverbs: Provide implementation private memory for the uverbs_attr_bundle
      IB/uverbs: Remove the ib_uverbs_attr pointer from each attr
      IB/uverbs: Add a simple allocator to uverbs_attr_bundle
      IB/uverbs: Use uverbs_alloc for allocations
      IB/uverbs: Use uverbs_api to unmarshal ioctl commands
      IB/uverbs: Remove struct uverbs_root_spec and all supporting code
      IB/uverbs: Do not check for device disassociation during ioctl
      IB/ucm: Fix compiling ucm.c
      IB/mlx5: Fix leaking stack memory to userspace
      Merge tag 'v4.18' into rdma.git for-next
      Revert "net/smc: Replace ib_query_gid with rdma_get_gid_attr"
      Merge branch 'linus/master' into rdma.git for-next

Kamal Heib (11):
      RDMA/ipoib: Use min_t() macro instead of min()
      RDMA/ipoib: Prefer unsigned int to bare use of unsigned
      RDMA/ipoib: Fix use of sizeof()
      RDMA/ipoib: Fix return code from ipoib_cm_dev_init
      RDMA/mlx5: Remove set but not used variables
      RDMA/providers: Fix return value from create_srq callbacks
      RDMA/ipoib: Fix check for return code from ib_create_srq
      RDMA/core: Remove {create,destroy}_ah from mandatory verbs
      RDMA/core: Check for verbs callbacks before using them
      RDMA/providers: Remove pointless functions
      RDMA: Fix return code check in rdma_set_cq_moderation

Kees Cook (1):
      test_overflow: Add shift overflow tests

Leon Romanovsky (16):
      RDMA/nldev: Return port capability flag for IB only
      RDMA/uverbs: Refactor flow_resources_alloc() function
      RDMA/mlx5: Refactor transport domain checks
      RDMA/verbs: Drop kernel variant of create_flow
      RDMA/verbs: Drop kernel variant of destroy_flow
      RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR
      RDMA/umem: Don't check for a negative return value of dma_map_sg_attrs()
      RDMA/uverbs: Remove redundant check
      RDMA/mlx5: Don't leak UARs in case of free fails
      RDMA/i40w: Hold read semaphore while looking after VMA
      RDMA/mlx5: Remove unused port number parameter
      RDMA/mlx5: Melt consecutive calls to alloc_bfreg() in one call
      RDMA/mlx5: Check that supplied blue flame index doesn't overflow
      RDMA/umem: Don't hold mmap_sem for too long
      RDMA/umem: Refactor exit paths in ib_umem_get
      RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq

Lijun Ou (12):
      RDMA/hns: Do not overwrite the error code during error unwind in hns_roce_init
      RDMA/hns: Add 50GE type of hnae3 device match
      RDMA/hns: Return correct error code from hns_roce_v1_rsv_lp_qp()
      RDMA/hns: Add illegal hop_num judgement
      RDMA/hns: Use delay instead of usleep
      RDMA/hns: Update the data type of immediate data
      RDMA/hns: Enable modify_cq for uverbs.
      RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set
      RDMA/hns: Assign the value for vlan field of qp context
      RDMA/hns: Modify qp will return errno when qp type is illegal
      RDMA/hns: Use macro instead of magic number
      RDMA/hns: Program the tclass and flow label into the hardware

Maor Gottlieb (1):
      IB/mlx5: Fix GRE flow specification

Matan Barak (5):
      IB/uverbs: Export uverbs idr and fd types
      IB/uverbs: Refactor uverbs_finalize_objects
      IB/uverbs: Add PTR_IN attributes that are allocated/copied automatically
      IB/uverbs: Add a macro to define a type with no kernel known size
      IB/uverbs: Allow an empty namespace in ioctl() framework

Matthew Wilcox (1):
      IB/mad: Agent registration is process context only

Michael J. Ruhl (3):
      IB/hfi1: Remove INTx support and simplify MSIx usage
      IB/hfi1: Set in_use_ctxts bits for user ctxts only
      IB/hfi1: Remove incorrect call to do_interrupt callback

Mike Marciniszyn (10):
      IB/hfi1: Move normal functions from hfi1_devdata to const array
      IB/hfi1: Move rhf_offset from devdata to ctxtdata
      IB/hfi1: Remove rcvhdrsize
      IB/rdmavt, IB/hfi1: Create device dependent s_flags
      IB/hfi1: Remove rcvhdrq_size
      IB/hfi1: Remove rcvctrl from ctxtdata
      IB/hfi1: Rightsize ctxt_eager_bufs fields
      IB/hfi1: Remove unused/writeonly devdata fields
      IB/hfi1: Remove caches of chip CSRs
      IB/hfi1: Reorg ctxtdata and rightsize fields

Neil Horman (1):
      vmw_pvrdma: Release netdev when vmxnet3 module is removed

Or Gerlitz (1):
      MAINTAINERS: Moving out...

Parav Pandit (45):
      IB/core: Do not set the gid type when reserving default entries
      IB/core: Store default GID property per-table instead of per-entry
      IB/core: Introduce GID entry reference counts
      RDMA: Use GID from the ib_gid_attr during the add_gid() callback
      IB/core: Introduce GID attribute get, put and hold APIs
      IB/core: Replace ib_query_gid with rdma_get_gid_attr
      net/smc: Replace ib_query_gid with rdma_get_gid_attr
      IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid
      IB/rxe: Use rdma GID API
      IB: Ensure that all rdma_ah_attr's are zero initialized
      IB/core: Tidy ib_resolve_eth_dmac
      RDMA: Convert drivers to use sgid_attr instead of sgid_index
      IB/mlx4: Use GID attribute from ah attribute
      RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths
      RDMA/cma: Consider net namespace while leaving multicast group
      IB/core: Free GID table entry during GID deletion
      IB: Make ib_init_ah_attr_from_wc set sgid_attr
      IB: Make ib_init_ah_from_mcmember set sgid_attr
      IB: Make init_ah_attr_grh_fields set sgid_attr
      IB/cm: Keep track of the sgid_attr that created the cm id
      IB/cm: Pass the sgid_attr through various events
      IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *'
      IB/cm: Use sgid_attr from the AV
      IB/mlx5: Honor cnt_set_id_valid flag instead of set_id
      IB/core: Simplify check for RoCE route resolve
      IB/core: Introduce and use sgid_attr in CM requests
      RDMA/cma: Consider netdevice for RoCE ports
      RDMA/cma: Do not ignore net namespace for unbound cm_id
      RDMA/cma: Initialize resource type in __rdma_create_id()
      RDMA/cma: Simplify rdma_resolve_addr() error flow
      RDMA/core: Constify dst_addr argument
      RDMA/cma: Constify path record, ib_cm_event, listen_id pointers
      RDMA/cma: Get rid of 1 bit boolean
      RDMA/core: Return bool instead of int
      RDMA/core: Avoid holding lock while initializing fields on stack
      RDMA/core: Simplify gid type check in cma_acquire_dev()
      RDMA/core: Prefix _ib to IB/RoCE specific functions
      IB/ucm: Initialize sgid request GID attribute pointer
      IB/core: Add comment for change upper netevent handling
      IB/core: Avoid confusing del_netdev_default_ips
      IB/core: Delete lower netdevice default GID entries in bonding scenario
      IB/core: Consider adding default GIDs of bond device
      IB/core: Add default GIDs of the bond master netdev
      IB/core: Update GID entries for netdevice whose mac address changes
      IB/core: Change filter function return type from int to bool

Potnuri Bharat Teja (3):
      iw_cxgb4: RDMA write with immediate support
      iw_cxgb4: Support FW write completion WR
      iw_cxgb4: pass window scale in flowc work request

Qing Huang (1):
      IB/mlx5: avoid excessive warning msgs when creating VFs on 2nd port

Raju Rangoju (3):
      rdma/cxgb4: Add support for 64Byte cqes
      rdma/cxgb4: Add support for srq functions & structs
      rdma/cxgb4: Add support for kernel mode SRQ's

Sagi Grimberg (1):
      IB/iser: set can_queue earlier to allow setting higher queue depth

Shiraz Saleem (1):
      i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt

Steve Wise (1):
      IB/core: add max_send_sge and max_recv_sge attributes

Talat Batheesh (1):
      IB/mlx5: Support RoCE ICRC encapsulated error counter

Tarick Bedeir (1):
      IB/mlx4: Test port number before querying type.

Varsha Rao (1):
      IB/core: Remove extra parentheses

Vijay Immanuel (3):
      IB/rxe: increase max MR limit
      IB/rxe: support for 802.1q VLAN on the listener
      IB/rxe: don't clear the tx queue on every transfer

Wei Yongjun (1):
      IB/ipoib: Fix error return code in ipoib_dev_init()

Yishai Hadas (22):
      IB/core: Introduce DECLARE_UVERBS_GLOBAL_METHODS
      IB/core: Expose ib_ucontext from a given ib_uverbs_file
      IB/mlx5: Introduce DEVX
      IB/mlx5: Add support for DEVX general command
      IB/mlx5: Add obj create and destroy functionality
      IB/mlx5: Add DEVX support for modify and query commands
      IB/mlx5: Add support for DEVX query UAR
      IB/mlx5: Add DEVX support for memory registration
      IB/mlx5: Add DEVX query EQN support
      IB/mlx5: Expose DEVX tree
      IB/mlx5: Add support for drain SQ & RQ
      IB/mlx4: Add support for drain SQ & RQ
      IB: Improve uverbs_cleanup_ucontext algorithm
      IB: Enable uverbs_destroy_def_handler to be used by drivers
      net/mlx5: Add forward compatible support for the FTE match data
      net/mlx5: Add support for flow table destination number
      IB/mlx5: Introduce flow steering matcher uapi object
      IB: Support ib_flow creation in drivers
      IB/mlx5: Introduce driver create and destroy flow methods
      IB/mlx5: Support adding flow steering rule by raw description
      IB/mlx5: Add support for a flow table destination for driver flow steering
      IB/mlx5: Enable driver uapi commands for flow steering

Yixian Liu (1):
      RDMA/hns: Support flush cqe for hip08 in kernel space

Yonatan Cohen (1):
      IB/mlx5: Expose dump and fill memory key

Yuval Bason (3):
      qedr: Add wrapping generic structure for qpidr and adjust idr routines.
      qedr: Add support for kernel mode SRQ's
      qedr: Add user space support for SRQ

Yuval Shaia (1):
      RDMA/vmw_pvrdma: Delete unused function

Zhu Yanjun (2):
      IB/rxe: avoid unnecessary NULL check
      IB/rxe: Drop QP0 silently

oulijun (5):
      RDMA/hns: Fix endian conversions and annotations
      RDMA/hns: Add TSQ link table support
      RDMA/hns: Add TPQ link table support
      RDMA/hns: Update the implementation of set_gid
      RDMA/hns: Update the implementation of set_mac

willy@infradead.org (2):
      IDR: Expose the XArray lock
      IB/mad: Use IDR for agent IDs

 .mailmap                                           |    2 +
 MAINTAINERS                                        |   16 +-
 drivers/infiniband/Kconfig                         |    2 +-
 drivers/infiniband/core/Makefile                   |    5 +-
 drivers/infiniband/core/addr.c                     |   16 +-
 drivers/infiniband/core/cache.c                    |  724 ++++++++-----
 drivers/infiniband/core/cm.c                       |  147 +--
 drivers/infiniband/core/cm_msgs.h                  |    7 -
 drivers/infiniband/core/cma.c                      |  362 ++++---
 drivers/infiniband/core/core_priv.h                |    4 +-
 drivers/infiniband/core/device.c                   |   23 +-
 drivers/infiniband/core/mad.c                      |  113 +-
 drivers/infiniband/core/mad_priv.h                 |    7 +-
 drivers/infiniband/core/multicast.c                |   40 +-
 drivers/infiniband/core/nldev.c                    |   16 +-
 drivers/infiniband/core/rdma_core.c                | 1018 +++++++++++-------
 drivers/infiniband/core/rdma_core.h                |   96 +-
 drivers/infiniband/core/roce_gid_mgmt.c            |  306 ++++--
 drivers/infiniband/core/rw.c                       |    8 +-
 drivers/infiniband/core/sa_query.c                 |  138 ++-
 drivers/infiniband/core/sysfs.c                    |   66 +-
 drivers/infiniband/core/ucm.c                      |   15 +-
 drivers/infiniband/core/umem.c                     |   62 +-
 drivers/infiniband/core/user_mad.c                 |    1 +
 drivers/infiniband/core/uverbs.h                   |   34 +-
 drivers/infiniband/core/uverbs_cmd.c               |  599 +++++------
 drivers/infiniband/core/uverbs_ioctl.c             |  709 ++++++++-----
 drivers/infiniband/core/uverbs_ioctl_merge.c       |  664 ------------
 drivers/infiniband/core/uverbs_main.c              |  232 ++--
 drivers/infiniband/core/uverbs_marshall.c          |    2 -
 drivers/infiniband/core/uverbs_std_types.c         |  200 ++--
 .../infiniband/core/uverbs_std_types_counters.c    |  108 +-
 drivers/infiniband/core/uverbs_std_types_cq.c      |  154 ++-
 drivers/infiniband/core/uverbs_std_types_dm.c      |   61 +-
 .../infiniband/core/uverbs_std_types_flow_action.c |  170 +--
 drivers/infiniband/core/uverbs_std_types_mr.c      |   88 +-
 drivers/infiniband/core/uverbs_uapi.c              |  346 ++++++
 drivers/infiniband/core/verbs.c                    |  523 ++++++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  144 +--
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   15 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |    4 +-
 drivers/infiniband/hw/cxgb3/iwch_cq.c              |   64 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |   44 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.h        |    8 +-
 drivers/infiniband/hw/cxgb3/iwch_qp.c              |   32 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   90 +-
 drivers/infiniband/hw/cxgb4/cq.c                   |  269 +++--
 drivers/infiniband/hw/cxgb4/device.c               |   20 +-
 drivers/infiniband/hw/cxgb4/ev.c                   |    5 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   57 +-
 drivers/infiniband/hw/cxgb4/provider.c             |   56 +-
 drivers/infiniband/hw/cxgb4/qp.c                   | 1051 +++++++++++++++---
 drivers/infiniband/hw/cxgb4/resource.c             |   51 +-
 drivers/infiniband/hw/cxgb4/t4.h                   |  164 ++-
 drivers/infiniband/hw/cxgb4/t4fw_ri_api.h          |   68 +-
 drivers/infiniband/hw/hfi1/chip.c                  |  205 ++--
 drivers/infiniband/hw/hfi1/chip.h                  |   30 +
 drivers/infiniband/hw/hfi1/driver.c                |   63 +-
 drivers/infiniband/hw/hfi1/file_ops.c              |   10 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |  243 ++---
 drivers/infiniband/hw/hfi1/init.c                  |   44 +-
 drivers/infiniband/hw/hfi1/pcie.c                  |   19 +-
 drivers/infiniband/hw/hfi1/pio.c                   |   14 +-
 drivers/infiniband/hw/hfi1/qp.c                    |    6 +-
 drivers/infiniband/hw/hfi1/qp.h                    |   24 +-
 drivers/infiniband/hw/hfi1/rc.c                    |    6 +-
 drivers/infiniband/hw/hfi1/ruc.c                   |   14 +-
 drivers/infiniband/hw/hfi1/sdma.c                  |   10 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |   18 +-
 drivers/infiniband/hw/hfi1/vnic_main.c             |   12 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c            |   21 +-
 drivers/infiniband/hw/hns/hns_roce_common.h        |    9 -
 drivers/infiniband/hw/hns/hns_roce_db.c            |    2 +
 drivers/infiniband/hw/hns/hns_roce_device.h        |   45 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c           |    7 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |  430 +++++---
 drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  698 ++++++++++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |  136 ++-
 drivers/infiniband/hw/hns/hns_roce_main.c          |   15 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c            |    2 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   55 +-
 drivers/infiniband/hw/i40iw/Kconfig                |    1 +
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |   26 +-
 drivers/infiniband/hw/i40iw/i40iw_hw.c             |   83 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |   54 +-
 drivers/infiniband/hw/mlx4/ah.c                    |   70 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   29 +-
 drivers/infiniband/hw/mlx4/main.c                  |   41 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |   21 +-
 drivers/infiniband/hw/mlx4/qp.c                    |  421 ++++----
 drivers/infiniband/hw/mlx4/srq.c                   |    4 +-
 drivers/infiniband/hw/mlx5/Makefile                |    2 +
 drivers/infiniband/hw/mlx5/ah.c                    |   11 +-
 drivers/infiniband/hw/mlx5/cmd.c                   |   12 +
 drivers/infiniband/hw/mlx5/cmd.h                   |    1 +
 drivers/infiniband/hw/mlx5/cong.c                  |    9 +-
 drivers/infiniband/hw/mlx5/cq.c                    |    2 +-
 drivers/infiniband/hw/mlx5/devx.c                  | 1119 ++++++++++++++++++++
 drivers/infiniband/hw/mlx5/flow.c                  |  252 +++++
 drivers/infiniband/hw/mlx5/gsi.c                   |    8 +-
 drivers/infiniband/hw/mlx5/main.c                  |  570 +++++++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   85 +-
 drivers/infiniband/hw/mlx5/mr.c                    |   34 +-
 drivers/infiniband/hw/mlx5/qp.c                    |  294 +++--
 drivers/infiniband/hw/mlx5/srq.c                   |    4 +-
 drivers/infiniband/hw/mthca/mthca_av.c             |    5 +-
 drivers/infiniband/hw/mthca/mthca_dev.h            |   24 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |    7 +-
 drivers/infiniband/hw/mthca/mthca_qp.c             |   24 +-
 drivers/infiniband/hw/mthca/mthca_srq.c            |    8 +-
 drivers/infiniband/hw/nes/nes.h                    |    2 +-
 drivers/infiniband/hw/nes/nes_cm.c                 |    8 +-
 drivers/infiniband/hw/nes/nes_hw.c                 |    6 +-
 drivers/infiniband/hw/nes/nes_verbs.c              |   74 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    1 -
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   26 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |    1 -
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   50 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   12 +-
 drivers/infiniband/hw/qedr/main.c                  |  107 +-
 drivers/infiniband/hw/qedr/qedr.h                  |   43 +-
 drivers/infiniband/hw/qedr/qedr_hsi_rdma.h         |   11 +
 drivers/infiniband/hw/qedr/qedr_iw_cm.c            |   12 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   37 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.h          |    8 +-
 drivers/infiniband/hw/qedr/verbs.c                 |  625 +++++++++--
 drivers/infiniband/hw/qedr/verbs.h                 |   17 +-
 drivers/infiniband/hw/qib/qib_verbs.c              |    3 +-
 drivers/infiniband/hw/qib/qib_verbs.h              |    5 +-
 drivers/infiniband/hw/usnic/Kconfig                |    2 +-
 drivers/infiniband/hw/usnic/usnic_fwd.c            |    4 +-
 drivers/infiniband/hw/usnic/usnic_fwd.h            |    2 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   10 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |    8 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |   40 +-
 drivers/infiniband/hw/usnic/usnic_uiom.h           |    5 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h          |    5 -
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   26 -
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   52 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |   11 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |    7 -
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |    6 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   15 +-
 drivers/infiniband/sw/rdmavt/ah.c                  |    4 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |   27 +-
 drivers/infiniband/sw/rdmavt/qp.h                  |   12 +-
 drivers/infiniband/sw/rdmavt/srq.c                 |    2 +-
 drivers/infiniband/sw/rxe/rxe.c                    |    3 +-
 drivers/infiniband/sw/rxe/rxe_av.c                 |   30 +-
 drivers/infiniband/sw/rxe/rxe_comp.c               |    1 +
 drivers/infiniband/sw/rxe/rxe_loc.h                |    5 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |   67 +-
 drivers/infiniband/sw/rxe/rxe_param.h              |    2 +-
 drivers/infiniband/sw/rxe/rxe_qp.c                 |   31 +-
 drivers/infiniband/sw/rxe/rxe_recv.c               |   24 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |    5 +
 drivers/infiniband/sw/rxe/rxe_verbs.c              |   70 +-
 drivers/infiniband/ulp/ipoib/ipoib.h               |   32 +-
 drivers/infiniband/ulp/ipoib/ipoib_cm.c            |   81 +-
 drivers/infiniband/ulp/ipoib/ipoib_ethtool.c       |    2 +-
 drivers/infiniband/ulp/ipoib/ipoib_fs.c            |    6 +-
 drivers/infiniband/ulp/ipoib/ipoib_ib.c            |   15 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |  444 ++++----
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c     |    7 +-
 drivers/infiniband/ulp/ipoib/ipoib_netlink.c       |   23 -
 drivers/infiniband/ulp/ipoib/ipoib_verbs.c         |    8 +-
 drivers/infiniband/ulp/ipoib/ipoib_vlan.c          |  261 +++--
 drivers/infiniband/ulp/iser/iscsi_iser.c           |   16 +-
 drivers/infiniband/ulp/iser/iser_memory.c          |    5 +-
 drivers/infiniband/ulp/iser/iser_verbs.c           |   14 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |   26 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |   27 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |   71 +-
 drivers/infiniband/ulp/srpt/ib_srpt.h              |    4 +-
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h        |    4 +-
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |    5 +
 .../mellanox/mlx5/core/diag/fs_tracepoint.c        |    3 +
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   24 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |   81 +-
 .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c  |   37 +-
 drivers/nvme/host/rdma.c                           |   13 +-
 drivers/nvme/target/rdma.c                         |   13 +-
 fs/cifs/smbdirect.c                                |   32 +-
 include/linux/idr.h                                |   11 +
 include/linux/mlx5/driver.h                        |    3 -
 include/linux/mlx5/fs.h                            |    1 +
 include/linux/mlx5/mlx5_ifc.h                      |    5 +
 include/linux/overflow.h                           |   31 +
 include/rdma/ib.h                                  |    4 +-
 include/rdma/ib_addr.h                             |    6 +-
 include/rdma/ib_cache.h                            |   83 +-
 include/rdma/ib_cm.h                               |   18 +-
 include/rdma/ib_mad.h                              |   33 +
 include/rdma/ib_sa.h                               |   49 +-
 include/rdma/ib_verbs.h                            |  257 +++--
 include/rdma/opa_addr.h                            |    2 +-
 include/rdma/rdma_cm.h                             |    2 +-
 include/rdma/rdmavt_qp.h                           |   30 +-
 include/rdma/uverbs_ioctl.h                        |  627 ++++++-----
 include/rdma/uverbs_named_ioctl.h                  |  109 +-
 include/rdma/uverbs_std_types.h                    |   96 +-
 include/rdma/uverbs_types.h                        |  133 +--
 include/uapi/rdma/cxgb4-abi.h                      |   32 +-
 include/uapi/rdma/hns-abi.h                        |    1 +
 include/uapi/rdma/ib_user_ioctl_cmds.h             |    7 +-
 include/uapi/rdma/ib_user_ioctl_verbs.h            |   58 +
 include/uapi/rdma/ib_user_verbs.h                  |    5 +-
 include/uapi/rdma/mlx5-abi.h                       |    6 +-
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |  121 +++
 include/uapi/rdma/qedr-abi.h                       |   17 +
 include/uapi/rdma/rdma_user_ioctl_cmds.h           |    7 +-
 lib/test_overflow.c                                |  198 +++-
 net/9p/trans_rdma.c                                |    8 +-
 net/core/secure_seq.c                              |    1 +
 net/rds/ib.c                                       |    2 +-
 net/rds/ib_frmr.c                                  |   11 +-
 net/rds/ib_recv.c                                  |    6 +-
 net/rds/ib_send.c                                  |    6 +-
 net/smc/smc_core.c                                 |    1 +
 net/smc/smc_ib.c                                   |    1 +
 net/smc/smc_tx.c                                   |    3 +-
 net/smc/smc_wr.c                                   |    9 +-
 net/smc/smc_wr.h                                   |    3 +-
 net/sunrpc/xprtrdma/fmr_ops.c                      |    4 +-
 net/sunrpc/xprtrdma/frwr_ops.c                     |    7 +-
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c            |    3 +-
 net/sunrpc/xprtrdma/svc_rdma_rw.c                  |    3 +-
 net/sunrpc/xprtrdma/svc_rdma_sendto.c              |    3 +-
 net/sunrpc/xprtrdma/svc_rdma_transport.c           |    2 +-
 net/sunrpc/xprtrdma/verbs.c                        |    5 +-
 233 files changed, 12380 insertions(+), 7059 deletions(-)
 delete mode 100644 drivers/infiniband/core/uverbs_ioctl_merge.c
 create mode 100644 drivers/infiniband/core/uverbs_uapi.c
 create mode 100644 drivers/infiniband/hw/mlx5/devx.c
 create mode 100644 drivers/infiniband/hw/mlx5/flow.c

Merge resolution diff:

diff --cc drivers/infiniband/core/rdma_core.c
index 12e7c6c102c136,475910ffbcb680..6eb64c6f08028b
--- a/drivers/infiniband/core/rdma_core.c
+++ b/drivers/infiniband/core/rdma_core.c
@@@ -77,201 -120,19 +77,201 @@@ static int uverbs_try_lock_object(struc
  	 * concurrently, setting the counter to zero is enough for releasing
  	 * this lock.
  	 */
 -	if (!exclusive)
 +	switch (mode) {
 +	case UVERBS_LOOKUP_READ:
- 		return __atomic_add_unless(&uobj->usecnt, 1, -1) == -1 ?
+ 		return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ?
  			-EBUSY : 0;
 +	case UVERBS_LOOKUP_WRITE:
 +		/* lock is exclusive */
 +		return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY;
 +	case UVERBS_LOOKUP_DESTROY:
 +		return 0;
 +	}
 +	return 0;
 +}
 +
 +static void assert_uverbs_usecnt(struct ib_uobject *uobj,
 +				 enum rdma_lookup_mode mode)
 +{
 +#ifdef CONFIG_LOCKDEP
 +	switch (mode) {
 +	case UVERBS_LOOKUP_READ:
 +		WARN_ON(atomic_read(&uobj->usecnt) <= 0);
 +		break;
 +	case UVERBS_LOOKUP_WRITE:
 +		WARN_ON(atomic_read(&uobj->usecnt) != -1);
 +		break;
 +	case UVERBS_LOOKUP_DESTROY:
 +		break;
 +	}
 +#endif
 +}
 +
 +/*
 + * This must be called with the hw_destroy_rwsem locked for read or write,
 + * also the uobject itself must be locked for write.
 + *
 + * Upon return the HW object is guaranteed to be destroyed.
 + *
 + * For RDMA_REMOVE_ABORT, the hw_destroy_rwsem is not required to be held,
 + * however the type's allocat_commit function cannot have been called and the
 + * uobject cannot be on the uobjects_lists
 + *
 + * For RDMA_REMOVE_DESTROY the caller shold be holding a kref (eg via
 + * rdma_lookup_get_uobject) and the object is left in a state where the caller
 + * needs to call rdma_lookup_put_uobject.
 + *
 + * For all other destroy modes this function internally unlocks the uobject
 + * and consumes the kref on the uobj.
 + */
 +static int uverbs_destroy_uobject(struct ib_uobject *uobj,
 +				  enum rdma_remove_reason reason)
 +{
 +	struct ib_uverbs_file *ufile = uobj->ufile;
 +	unsigned long flags;
 +	int ret;
 +
 +	lockdep_assert_held(&ufile->hw_destroy_rwsem);
 +	assert_uverbs_usecnt(uobj, UVERBS_LOOKUP_WRITE);
 +
 +	if (uobj->object) {
 +		ret = uobj->uapi_object->type_class->destroy_hw(uobj, reason);
 +		if (ret) {
 +			if (ib_is_destroy_retryable(ret, reason, uobj))
 +				return ret;
 +
 +			/* Nothing to be done, dangle the memory and move on */
 +			WARN(true,
 +			     "ib_uverbs: failed to remove uobject id %d, driver err=%d",
 +			     uobj->id, ret);
 +		}
 +
 +		uobj->object = NULL;
 +	}
  
 -	/* lock is either WRITE or DESTROY - should be exclusive */
 -	return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY;
 +	if (reason == RDMA_REMOVE_ABORT) {
 +		WARN_ON(!list_empty(&uobj->list));
 +		WARN_ON(!uobj->context);
 +		uobj->uapi_object->type_class->alloc_abort(uobj);
 +	}
 +
 +	uobj->context = NULL;
 +
 +	/*
 +	 * For DESTROY the usecnt is held write locked, the caller is expected
 +	 * to put it unlock and put the object when done with it. Only DESTROY
 +	 * can remove the IDR handle.
 +	 */
 +	if (reason != RDMA_REMOVE_DESTROY)
 +		atomic_set(&uobj->usecnt, 0);
 +	else
 +		uobj->uapi_object->type_class->remove_handle(uobj);
 +
 +	if (!list_empty(&uobj->list)) {
 +		spin_lock_irqsave(&ufile->uobjects_lock, flags);
 +		list_del_init(&uobj->list);
 +		spin_unlock_irqrestore(&ufile->uobjects_lock, flags);
 +
 +		/*
 +		 * Pairs with the get in rdma_alloc_commit_uobject(), could
 +		 * destroy uobj.
 +		 */
 +		uverbs_uobject_put(uobj);
 +	}
 +
 +	/*
 +	 * When aborting the stack kref remains owned by the core code, and is
 +	 * not transferred into the type. Pairs with the get in alloc_uobj
 +	 */
 +	if (reason == RDMA_REMOVE_ABORT)
 +		uverbs_uobject_put(uobj);
 +
 +	return 0;
  }
  
 -static struct ib_uobject *alloc_uobj(struct ib_ucontext *context,
 -				     const struct uverbs_obj_type *type)
 +/*
 + * This calls uverbs_destroy_uobject() using the RDMA_REMOVE_DESTROY
 + * sequence. It should only be used from command callbacks. On success the
 + * caller must pair this with rdma_lookup_put_uobject(LOOKUP_WRITE). This
 + * version requires the caller to have already obtained an
 + * LOOKUP_DESTROY uobject kref.
 + */
 +int uobj_destroy(struct ib_uobject *uobj)
  {
 -	struct ib_uobject *uobj = kzalloc(type->obj_size, GFP_KERNEL);
 +	struct ib_uverbs_file *ufile = uobj->ufile;
 +	int ret;
 +
 +	down_read(&ufile->hw_destroy_rwsem);
 +
 +	ret = uverbs_try_lock_object(uobj, UVERBS_LOOKUP_WRITE);
 +	if (ret)
 +		goto out_unlock;
 +
 +	ret = uverbs_destroy_uobject(uobj, RDMA_REMOVE_DESTROY);
 +	if (ret) {
 +		atomic_set(&uobj->usecnt, 0);
 +		goto out_unlock;
 +	}
  
 +out_unlock:
 +	up_read(&ufile->hw_destroy_rwsem);
 +	return ret;
 +}
 +
 +/*
 + * uobj_get_destroy destroys the HW object and returns a handle to the uobj
 + * with a NULL object pointer. The caller must pair this with
 + * uverbs_put_destroy.
 + */
 +struct ib_uobject *__uobj_get_destroy(const struct uverbs_api_object *obj,
 +				      u32 id, struct ib_uverbs_file *ufile)
 +{
 +	struct ib_uobject *uobj;
 +	int ret;
 +
 +	uobj = rdma_lookup_get_uobject(obj, ufile, id, UVERBS_LOOKUP_DESTROY);
 +	if (IS_ERR(uobj))
 +		return uobj;
 +
 +	ret = uobj_destroy(uobj);
 +	if (ret) {
 +		rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_DESTROY);
 +		return ERR_PTR(ret);
 +	}
 +
 +	return uobj;
 +}
 +
 +/*
 + * Does both uobj_get_destroy() and uobj_put_destroy().  Returns success_res
 + * on success (negative errno on failure). For use by callers that do not need
 + * the uobj.
 + */
 +int __uobj_perform_destroy(const struct uverbs_api_object *obj, u32 id,
 +			   struct ib_uverbs_file *ufile, int success_res)
 +{
 +	struct ib_uobject *uobj;
 +
 +	uobj = __uobj_get_destroy(obj, id, ufile);
 +	if (IS_ERR(uobj))
 +		return PTR_ERR(uobj);
 +
 +	rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE);
 +	return success_res;
 +}
 +
 +/* alloc_uobj must be undone by uverbs_destroy_uobject() */
 +static struct ib_uobject *alloc_uobj(struct ib_uverbs_file *ufile,
 +				     const struct uverbs_api_object *obj)
 +{
 +	struct ib_uobject *uobj;
 +	struct ib_ucontext *ucontext;
 +
 +	ucontext = ib_uverbs_get_ucontext(ufile);
 +	if (IS_ERR(ucontext))
 +		return ERR_CAST(ucontext);
 +
 +	uobj = kzalloc(obj->type_attrs->obj_size, GFP_KERNEL);
  	if (!uobj)
  		return ERR_PTR(-ENOMEM);
  	/*
diff --cc drivers/nvme/host/rdma.c
index 72e8e8e7d2d7cd,0805fa6215eefb..dc042017c293ad
--- a/drivers/nvme/host/rdma.c
+++ b/drivers/nvme/host/rdma.c
@@@ -374,6 -377,8 +377,8 @@@ nvme_rdma_find_get_device(struct rdma_c
  		goto out_free_pd;
  	}
  
+ 	ndev->num_inline_segments = min(NVME_RDMA_MAX_INLINE_SEGMENTS,
 -					ndev->dev->attrs.max_sge - 1);
++					ndev->dev->attrs.max_send_sge - 1);
  	list_add(&ndev->entry, &device_list);
  out_unlock:
  	mutex_unlock(&device_list_mutex);
diff --cc drivers/nvme/target/rdma.c
index 1a642e214a4ce2,e7f43d1e17797f..3533e918ea376b
--- a/drivers/nvme/target/rdma.c
+++ b/drivers/nvme/target/rdma.c
@@@ -382,13 -435,22 +435,21 @@@ static void nvmet_rdma_free_rsps(struc
  static int nvmet_rdma_post_recv(struct nvmet_rdma_device *ndev,
  		struct nvmet_rdma_cmd *cmd)
  {
 -	struct ib_recv_wr *bad_wr;
+ 	int ret;
+ 
  	ib_dma_sync_single_for_device(ndev->device,
  		cmd->sge[0].addr, cmd->sge[0].length,
  		DMA_FROM_DEVICE);
  
  	if (ndev->srq)
- 		return ib_post_srq_recv(ndev->srq, &cmd->wr, NULL);
- 	return ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL);
 -		ret = ib_post_srq_recv(ndev->srq, &cmd->wr, &bad_wr);
++		ret = ib_post_srq_recv(ndev->srq, &cmd->wr, NULL);
+ 	else
 -		ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, &bad_wr);
++		ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL);
+ 
+ 	if (unlikely(ret))
+ 		pr_err("post_recv cmd failed\n");
+ 
+ 	return ret;
  }
  
  static void nvmet_rdma_process_wr_wait_list(struct nvmet_rdma_queue *queue)
@@@ -491,7 -553,7 +552,7 @@@ static void nvmet_rdma_queue_response(s
  		rsp->send_sge.addr, rsp->send_sge.length,
  		DMA_TO_DEVICE);
  
- 	if (ib_post_send(cm_id->qp, first_wr, NULL)) {
 -	if (unlikely(ib_post_send(cm_id->qp, first_wr, &bad_wr))) {
++	if (unlikely(ib_post_send(cm_id->qp, first_wr, NULL))) {
  		pr_err("sending cmd response failed\n");
  		nvmet_rdma_release_rsp(rsp);
  	}
@@@ -805,6 -890,18 +889,18 @@@ nvmet_rdma_find_get_device(struct rdma_
  	if (!ndev)
  		goto out_err;
  
+ 	inline_page_count = num_pages(port->inline_data_size);
+ 	inline_sge_count = max(cm_id->device->attrs.max_sge_rd,
 -				cm_id->device->attrs.max_sge) - 1;
++				cm_id->device->attrs.max_recv_sge) - 1;
+ 	if (inline_page_count > inline_sge_count) {
+ 		pr_warn("inline_data_size %d cannot be supported by device %s. Reducing to %lu.\n",
+ 			port->inline_data_size, cm_id->device->name,
+ 			inline_sge_count * PAGE_SIZE);
+ 		port->inline_data_size = inline_sge_count * PAGE_SIZE;
+ 		inline_page_count = inline_sge_count;
+ 	}
+ 	ndev->inline_data_size = port->inline_data_size;
+ 	ndev->inline_page_count = inline_page_count;
  	ndev->device = cm_id->device;
  	kref_init(&ndev->ref);
  
diff --cc net/rds/ib_recv.c
index 4c5a937304b274,d300186b8dc020..2f16146e4ec94e
--- a/net/rds/ib_recv.c
+++ b/net/rds/ib_recv.c
@@@ -416,10 -415,10 +414,10 @@@ void rds_ib_recv_refill(struct rds_conn
  				&recv->r_frag->f_sg));
  
  		/* XXX when can this fail? */
 -		ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, &failed_wr);
 +		ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL);
  		if (ret) {
  			rds_ib_conn_error(conn, "recv post on "
- 			       "%pI4 returned %d, disconnecting and "
+ 			       "%pI6c returned %d, disconnecting and "
  			       "reconnecting\n", &conn->c_faddr,
  			       ret);
  			break;
diff --cc net/rds/ib_send.c
index 8ac80c1b051e1a,c8dd3125d39877..2dcb555e6350d1
--- a/net/rds/ib_send.c
+++ b/net/rds/ib_send.c
@@@ -758,8 -758,7 +758,7 @@@ int rds_ib_xmit_atomic(struct rds_conne
  {
  	struct rds_ib_connection *ic = conn->c_transport_data;
  	struct rds_ib_send_work *send = NULL;
 -	struct ib_send_wr *failed_wr;
 +	const struct ib_send_wr *failed_wr;
- 	struct rds_ib_device *rds_ibdev;
  	u32 pos;
  	u32 work_alloc;
  	int ret;
diff --cc net/smc/smc_wr.c
index de1a438cf9773f,f856b8402b3fe5..3c458d27985574
--- a/net/smc/smc_wr.c
+++ b/net/smc/smc_wr.c
@@@ -246,14 -239,11 +238,10 @@@ int smc_wr_tx_send(struct smc_link *lin
  	ib_req_notify_cq(link->smcibdev->roce_cq_send,
  			 IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS);
  	pend = container_of(priv, struct smc_wr_tx_pend, priv);
 -	rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx],
 -			  &failed_wr);
 +	rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx], NULL);
  	if (rc) {
- 		struct smc_link_group *lgr =
- 			container_of(link, struct smc_link_group,
- 				     lnk[SMC_SINGLE_LINK]);
- 
  		smc_wr_tx_put_slot(link, priv);
- 		smc_lgr_terminate(lgr);
+ 		smc_lgr_terminate(smc_get_lgr(link));
  	}
  	return rc;
  }

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-08-03 16:11 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-08-03 16:11 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1108 bytes --]

Hi Linus,

Third pull request for -rc

Things are still slow on the RC side, this one patch has been sitting in the
git tree for a few weeks waiting for some friends. I expect this is the last
RC pull for this cycle.

The following changes since commit d63c46734c545ad0488761059004a65c46efdde3:

  RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (2018-07-11 14:16:13 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to addb8a6559f0f8b5a37582b7ca698358445a55bf:

  RDMA/uverbs: Expand primary and alt AV port checks (2018-07-24 15:30:34 -0600)

----------------------------------------------------------------
One bug for missing user input validation:

- Refuse invalid port numbers in the modify_qp system call

----------------------------------------------------------------
Jack Morgenstein (1):
      RDMA/uverbs: Expand primary and alt AV port checks

 drivers/infiniband/core/uverbs_cmd.c | 59 +++++++++++++++++++++++++++++++++---
 1 file changed, 54 insertions(+), 5 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-07-13 17:13 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-07-13 17:13 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2040 bytes --]

Hi Linus,

Second pull request for -rc

Things have been quite slow, only 6 RC patches have been sent to the
list. Lots of stuff in for-next already though.

The following changes since commit 6f0d349d922ba44e4348a17a78ea51b7135965b1:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2018-06-25 15:58:17 +0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to d63c46734c545ad0488761059004a65c46efdde3:

  RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (2018-07-11 14:16:13 -0600)

----------------------------------------------------------------
Regression, user visible bugs, and crashing fixes:

- cxgb4 could wrongly fail MR creation due to a typo

- Various crashes if the wrong QP type is mixed in with APIs that expect
  other types

- Syzkaller oops

- Using ERR_PTR and NULL together cases HFI1 to crash in some cases

- mlx5 memory leak in error unwind

----------------------------------------------------------------
Kamal Heib (1):
      RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path

Leon Romanovsky (3):
      RDMA/uverbs: Protect from attempts to create flows on unsupported QP
      RDMA/uverbs: Fix slab-out-of-bounds in ib_uverbs_ex_create_flow
      RDMA/uverbs: Don't fail in creation of multiple flows

Michael J. Ruhl (1):
      IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values

Steve Wise (1):
      iw_cxgb4: correctly enforce the max reg_mr depth

 drivers/infiniband/core/uverbs_cmd.c     | 28 +++++++++++++++++-----------
 drivers/infiniband/hw/cxgb4/mem.c        |  2 +-
 drivers/infiniband/hw/hfi1/rc.c          |  2 +-
 drivers/infiniband/hw/hfi1/uc.c          |  4 ++--
 drivers/infiniband/hw/hfi1/ud.c          |  4 ++--
 drivers/infiniband/hw/hfi1/verbs_txreq.c |  4 ++--
 drivers/infiniband/hw/hfi1/verbs_txreq.h |  4 ++--
 drivers/infiniband/hw/mlx5/srq.c         | 18 ++++++++++++------
 8 files changed, 39 insertions(+), 27 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-06-20 21:00 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-06-20 21:00 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2093 bytes --]

Hi Linus,

First pull request for -rc

Here are eight fairly small fixes collected over the last two weeks.

Thanks,
Jason

The following changes since commit c1191a19fecad92b73c25770a7f47174280ca564:

  RDMA/mlx5: Update SPDX tags to show proper license (2018-06-05 14:04:20 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 375dc53d032fc11e98036b5f228ad13f7c5933f5:

  IB/rxe: Fix missing completion for mem_reg work requests (2018-06-18 11:36:13 -0600)

----------------------------------------------------------------
4.18-rc

Regression and crashing bug fixes:

- mlx4/5: Fixes for issues found from various checkers
- A resource tracking and uverbs regression in the core code
- qedr: NULL pointer regression found during testing
- rxe: Various small bugs

----------------------------------------------------------------
Bharat Potnuri (1):
      RDMA/core: Save kernel caller name when creating CQ using ib_create_cq()

Christophe Jaillet (1):
      IB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()'

Gustavo A. R. Silva (1):
      IB/mlx5: Fix memory leak in mlx5_ib_create_flow

Jason Gunthorpe (1):
      IB/uverbs: Fix ordering of ucontext check in ib_uverbs_write

Kalderon, Michal (1):
      RDMA/qedr: Fix NULL pointer dereference when running over iWARP without RDMA-CM

Vijay Immanuel (1):
      IB/rxe: Fix missing completion for mem_reg work requests

Zhu Yanjun (1):
      IB/rxe: avoid double kfree skb

weiyongjun (A) (1):
      IB/mlx5: Fix return value check in flow_counters_set_data()

 drivers/infiniband/core/uverbs_main.c | 14 ++++++++++----
 drivers/infiniband/core/verbs.c       | 14 ++++++++------
 drivers/infiniband/hw/mlx4/mr.c       |  7 +++++--
 drivers/infiniband/hw/mlx5/main.c     | 36 ++++++++++++++++++++---------------
 drivers/infiniband/hw/qedr/verbs.c    |  3 +++
 drivers/infiniband/sw/rxe/rxe_req.c   |  5 ++++-
 include/rdma/ib_verbs.h               | 13 ++++++++-----
 7 files changed, 59 insertions(+), 33 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-06-06 21:42 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-06-06 21:42 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 23121 bytes --]

Hi Linus,

Here are the RDMA patches for 4.18.

No merge conflicts this time, and as of this writing netdev's pull request has
not been merged so the merge diffstat shows a number of ethernet related files
from the various shared pull requests in the two trees.

There are a few more merge commits in this history than has been typical in
the past. Instead of choosing the net or RDMA tree to get certain patches,
Mellanox is now providing a 'shared branch' which is intended to carry all
commits to drivers/net/ethernet/mellanox/mlx5/core and is used to merge those
patches into both the net and rdma trees. This is expected to reduce the merge
conflicts by ensuring both trees have all commits related to mlx5/core and
related, and no rdma or netdev commit is left only in the others tree.

The following changes since commit 55ba49cbcef37053d973f9a45bc58818c333fe13:

  RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to c1191a19fecad92b73c25770a7f47174280ca564:

  RDMA/mlx5: Update SPDX tags to show proper license (2018-06-05 14:04:20 -0600)

----------------------------------------------------------------
4.18 Merge window pull request

This has been a quiet cycle for RDMA, the big bulk is the usual smallish
driver updates and bug fixes. About four new uAPI related things. Not as much
Szykaller patches this time, the bugs it finds are getting harder to fix.

- More work cleaning up the RDMA CM code
- Usual driver bug fixes and cleanups for qedr, qib, hfi1, hns, i40iw, iw_cxgb4, mlx5, rxe
- Driver specific resource tracking and reporting via netlink
- Continued work for name space support from Parav
- MPLS support for the verbs flow steering uAPI
- A few tricky IPoIB fixes improving robustness
- HFI1 driver support for the '16B' management packet format
- Some auditing to not print kernel pointers via %llx or similar
- Mark the entire 'UCM' user-space interface as BROKEN with the intent to remove it
  entirely. The user space side of this was long ago replaced with RDMA-CM and
  syzkaller is finding bugs in the residual UCM interface nobody wishes to fix because
  nobody uses it.
- Purge more bogus BUG_ON's from Leon
- 'flow counters' verbs uAPI
- T10 fixups for iser/isert, these are Acked by Martin but going through the RDMA
  tree due to dependencies

----------------------------------------------------------------
Alex Estrin (3):
      IB/hfi1: Complete check for locally terminated smp
      IB/{hfi1, qib}: Add handling of kernel restart
      IB/isert: Fix for lib/dma_debug check_sync warning

Ariel Levkovich (7):
      IB/uverbs: Expose GRE flow spec to the user-kernel ABI header
      IB/uverbs: Introduce a GRE steering match filter
      IB/uverbs: Expose MPLS flow spec to the user-kernel ABI header
      IB/uverbs: Introduce a MPLS steering match filter
      IB/mlx5: Add support for GRE flow specification
      IB/mlx5: Add support for MPLS flow specification
      IB/mlx5: Expose MPLS related tunneling offloads

Arnd Bergmann (1):
      iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

Ben Hutchings (1):
      IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS

Brian Welty (1):
      IB/{hfi1, qib, rdmavt}: Move logic to allocate receive WQE into rdmavt

Christophe JAILLET (3):
      net/mlx5: Vport, Use 'kvfree()' for memory allocated by 'kvzalloc()'
      net/mlx5: Eswitch, Use 'kvfree()' for memory allocated by 'kvzalloc()'
      IB/mlx5: Use 'kvfree()' for memory allocated by 'kvzalloc()'

Colin Ian King (4):
      net/mlx5: remove some extraneous spaces in indentations
      RDMA/qedr: fix spelling mistake: "failes" -> "fails"
      net/mlx5: fix spelling mistake: "modfiy" -> "modify"
      RDMA/qedr: fix spelling mistake: "adrresses" -> "addresses"

Cong Wang (1):
      infiniband: fix a possible use-after-free bug

Don Hiatt (3):
      IB/hfi1: Define 16B Management Packets
      IB/hfi1: Add support for 16B Management Packets
      IB/hfi1: Add 16B Management Packet trace support

Doug Ledford (7):
      Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next
      Merge tag 'mlx5-updates-2018-05-07' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
      RDMA/hfi1: Fix build error with debugfs disabled
      RDMA/uapi: Fix uapi breakage
      RDMA/ipoib: Update paths on CLIENT_REREG/SM_CHANGE events
      Merge branch 'wip/dl-ipoib' into wip/dl-for-next
      RDMA/hns_roce: Don't check return value of zap_vma_ptes()

Erez Shitrit (1):
      IB/mlx5: Fetch soft WQE's on fatal error state

Evgenii Smirnov (1):
      RDMA/ipoib: drop skb on path record lookup failure

Idan Burstein (1):
      IB/mlx5: posting klm/mtt list inline in the send queue for reg_wr

Jack Morgenstein (2):
      IB/core: Make testing MR flags for writability a static inline function
      IB/mlx4: Mark user MR as writable if actual virtual memory is writable

Jason Gunthorpe (8):
      RDMA/rdma_cm: Remove process_req and timer sorting
      RDMA/rdma_cm: Make rdma_addr_cancel into a fence
      RDMA/rdma_cm: Delete rdma_addr_client
      Merge tag 'mlx5-updates-2018-05-17' of git://git.kernel.org/.../mellanox/linux into for-next
      Merge branch 'mr_fix' into git://git.kernel.org/.../rdma/rdma for-next
      RDMA/core: Remove indirection through ib_cache_setup()
      Merge branch 'mini_cqe' into git://git.kernel.org/.../rdma/rdma for-next
      Merge tag 'verbs_flow_counters' of git://git.kernel.org/.../leon/linux-rdma.git into for-next

Jia-Ju Bai (3):
      infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_add_mqh_4
      infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_make_listen_node
      infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_l2param_change

Kaike Wan (3):
      IB/hfi1: Ensure VL index is within bounds
      IB/hfi1: Remove unused variable
      IB/hfi1: Rename exp_lock to exp_mutex

Kamenee Arumugam (1):
      IB/Hfi1: Read CCE Revision register to verify the device is responsive

Leon Romanovsky (16):
      net/mlx5: Decrease level of prints about non-existent MKEY
      RDMA/hns: Drop local zgid in favor of core defined variable
      RDMA/mlx5: Remove debug prints of VMA pointers
      RDMA/ucm: Mark UCM interface as BROKEN
      RDMA/mlx4: Catch FW<->SW misalignment without machine crash
      RDMA/mlx4: Discard unknown SQP work requests
      RDMA/cxgb3: Don't crash kernel just because IDR is full
      RDMA/cm: Abort loop in case of CM dequeue
      RDMA/cma: Ignore unknown event
      RDMA/mad: Delete inaccessible BUG_ON
      RDMA/mad: Convert BUG_ONs to error flows
      RDMA/mlx5: Don't check return value of zap_vma_ptes()
      RDMA/mlx4: Don't crash machine if zap_vma_ptes() fails
      mm: Remove return value of zap_vma_ptes()
      RDMA/restrack: Change SPDX tag to properly reflect license
      RDMA/mlx5: Update SPDX tags to show proper license

Matan Barak (2):
      IB/uverbs: Add an ib_uobject getter to ioctl() infrastructure
      IB/core: Support passing uhw for create_flow

Max Gurtovoy (4):
      IB/isert: fix T10-pi check mask setting
      RDMA/core: introduce check masks for T10-PI offload
      IB/iser: use T10-PI check mask definitions from core layer
      IB/isert: use T10-PI check mask definitions from core layer

Michael J. Ruhl (4):
      IB/hfi1: Return actual error value from program_rcvarray()
      IB/hfi1: Return correct value for device state
      IB/hfi1: Reorder incorrect send context disable
      IB/hfi1: Set port number for errorinfo MAD response

Mike Marciniszyn (7):
      IB/hfi1: Fix fault injection init/exit issues
      IB/hfi1: Cleanup of exp_rcv
      IB/{rdmavt,hfi1}: Change hrtimer add to use pinned version
      IB/qib: Fix DMA api warning with debug kernel
      IB/hfi1: Fix user context tail allocation for DMA_RTAIL
      IB/hfi1: Add bypass register defines and replace blind constants
      IB/hfi1: Fix comment on default hdr entry size

Mitko Haralanov (1):
      IB/hfi1: Rework fault injection machinery

Moshe Shemesh (2):
      net/mlx5: Refactor num of blocks in mailbox calculation
      net/mlx5: Fix dump_command mailbox length printed

Or Gerlitz (1):
      net/mlx5: Use flow counter pointer as input to the query function

Parav Pandit (9):
      IB/core: Use CONFIG_SECURITY_INFINIBAND to compile out security code
      IB/core: Make gid_table_reserve_default() return void
      IB/core: Reuse gid_table_release_one() in table allocation failure
      IB/cm: Avoid AV ah_attr overwriting during LAP message handling
      IB/cm: Store and restore ah_attr during LAP msg processing
      IB/cm: Store and restore ah_attr during CM message processing
      IB/core: Remove duplicate declaration of gid_cache_wq
      IB/core: Reduce the places that use zgid
      IB/core: Introduce and use rdma_gid_table()

Rabie Loulou (1):
      net/mlx5e: Explicitly set destination e-switch in FDB rules

Raed Salem (11):
      net/mlx5: Export flow counter related API
      IB/core: Introduce counters object and its create/destroy
      IB/uverbs: Add create/destroy counters support
      IB/core: Introduce counters read verb
      IB/uverbs: Add read counters support
      IB/core: Add support for flow counters
      IB/uverbs: Add support for flow counters
      IB/mlx5: Add counters create and destroy support
      IB/mlx5: Add flow counters binding support
      IB/mlx5: Add flow counters read support
      IB/mlx5: Add counters read support

Roi Dayan (1):
      net/mlx5: Add merged e-switch cap

Sebastian Andrzej Siewior (1):
      IB/ipoib: replace local_irq_disable() with proper locking

Sebastian Sanchez (4):
      IB/hfi1: Prevent LNI hang when LCB can't obtain lanes
      IB/hfi1: Optimize kthread pointer locking when queuing CQ entries
      IB/hfi1: Create common functions for affinity CPU mask operations
      IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support

Sergey Gorenko (1):
      IB/iser: Do not reduce max_sectors

Shahar Klein (4):
      net/mlx5: Properly handle a vport destination when setting FTE
      net/mlx5: Add destination e-switch owner
      net/mlx5: Add source e-switch owner
      net/mlx5e: Explicitly set source e-switch in offloaded TC rules

Shiraz Saleem (1):
      i40iw: Extend port reuse support for listeners

Souptick Joarder (2):
      infiniband: hw: hfi1: Change return type to vm_fault_t
      infiniband: hw: qib: Change return type to vm_fault_t

Steve Wise (12):
      RDMA/nldev: Add explicit pad attribute
      RDMA/nldev: add driver-specific resource tracking
      RDMA/nldev: helper functions to add driver attributes
      iw_cxgb4: dump detailed driver-specific QP information
      iw_cxgb4: fix uninitialized variable warnings
      RDMA/NLDEV: remove mr iova attribute
      iw_cxgb4: remove wr_id attributes
      iw_cxgb4: always set iw_cm_id.provider_data
      RDMA/CMA: add rdma_iw_cm_id() and rdma_res_to_id() helpers
      iw_cxgb4: provide detailed provider-specific CM_ID information
      iw_cxgb4: provide detailed driver-specific CQ information
      iw_cxgb4: provide detailed driver-specific MR information

Tariq Toukan (1):
      net/mlx5: Cleanup unused field in Work Queue parameters

Wei Hu(Xavier) (6):
      RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust
      RDMA/hns: Increase checking CMQ status timeout value
      RDMA/hns: Add reset process for RoCE in hip08
      RDMA/hns: Fix the illegal memory operation when cross page
      RDMA/uverbs: Hoist the common process of disassociate_ucontext into ib core
      RDMA/hns: Implement the disassociate_ucontext API

Yixian Liu (1):
      RDMA/hns: Add 64KB page size support for hip08

Yonatan Cohen (3):
      net/mlx5: Exposing a new mini-CQE format
      IB/mlx5: Refactor CQE compression response
      IB/mlx5: Introduce a new mini-CQE format

YueHaibing (2):
      IB/cxgb4: use skb_put_zero()/__skb_put_zero
      IB/hns: Use zeroing memory allocator instead of allocator/memset

Yuval Shaia (2):
      IB/rxe: Change rxe_rcv to return void
      IB/core: Remove redundant return

Zhu Yanjun (9):
      IB/rxe: make the variable static
      IB/rxe: avoid export symbols
      IB/rxe: make rxe_release_udp_tunnel static
      IB/rxe: optimize the function duplicate_request
      IB/rxe: replace refcount_inc with skb_get
      IB/rxe: change rxe_set_mtu function type to void
      IB/rxe: remove unused function variable
      IB/rxe: avoid calling WARN_ON_ONCE twice
      IB/rxe: avoid unnecessary export

oulijun (1):
      RDMA/hns: Rename the idx field of db

 drivers/infiniband/Kconfig                         |  11 +
 drivers/infiniband/core/Makefile                   |   9 +-
 drivers/infiniband/core/addr.c                     | 172 +++----
 drivers/infiniband/core/cache.c                    | 112 ++---
 drivers/infiniband/core/cm.c                       |  62 ++-
 drivers/infiniband/core/cma.c                      |  36 +-
 drivers/infiniband/core/core_priv.h                |   3 -
 drivers/infiniband/core/device.c                   |   4 +-
 drivers/infiniband/core/mad.c                      |  12 +-
 drivers/infiniband/core/nldev.c                    | 122 ++++-
 drivers/infiniband/core/restrack.c                 |   9 +-
 drivers/infiniband/core/roce_gid_mgmt.c            |   2 -
 drivers/infiniband/core/security.c                 |   4 -
 drivers/infiniband/core/ucma.c                     |   6 +-
 drivers/infiniband/core/umem.c                     |  13 +-
 drivers/infiniband/core/uverbs.h                   |   2 +
 drivers/infiniband/core/uverbs_cmd.c               | 111 ++++-
 drivers/infiniband/core/uverbs_main.c              |  42 +-
 drivers/infiniband/core/uverbs_std_types.c         |   3 +-
 .../infiniband/core/uverbs_std_types_counters.c    | 157 +++++++
 drivers/infiniband/core/uverbs_std_types_cq.c      |  23 +-
 .../infiniband/core/uverbs_std_types_flow_action.c |   4 +-
 drivers/infiniband/core/verbs.c                    |   2 +-
 drivers/infiniband/hw/cxgb3/iwch.h                 |   1 -
 drivers/infiniband/hw/cxgb4/Kconfig                |   1 +
 drivers/infiniband/hw/cxgb4/Makefile               |   3 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   1 +
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   5 +
 drivers/infiniband/hw/cxgb4/provider.c             |   8 +
 drivers/infiniband/hw/cxgb4/qp.c                   |   9 +-
 drivers/infiniband/hw/cxgb4/restrack.c             | 501 ++++++++++++++++++++
 drivers/infiniband/hw/hfi1/Makefile                |  10 +-
 drivers/infiniband/hw/hfi1/affinity.c              | 497 ++++++++++++++++++--
 drivers/infiniband/hw/hfi1/affinity.h              |  10 +-
 drivers/infiniband/hw/hfi1/chip.c                  |  82 ++--
 drivers/infiniband/hw/hfi1/chip.h                  |  15 +-
 drivers/infiniband/hw/hfi1/chip_registers.h        |  13 +-
 drivers/infiniband/hw/hfi1/debugfs.c               | 292 +-----------
 drivers/infiniband/hw/hfi1/debugfs.h               | 102 ++--
 drivers/infiniband/hw/hfi1/driver.c                |  53 ++-
 drivers/infiniband/hw/hfi1/exp_rcv.c               |  39 +-
 drivers/infiniband/hw/hfi1/exp_rcv.h               |  24 +-
 drivers/infiniband/hw/hfi1/fault.c                 | 375 +++++++++++++++
 drivers/infiniband/hw/hfi1/fault.h                 | 109 +++++
 drivers/infiniband/hw/hfi1/file_ops.c              |   8 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |  61 ++-
 drivers/infiniband/hw/hfi1/init.c                  |  47 +-
 drivers/infiniband/hw/hfi1/mad.c                   |  37 +-
 drivers/infiniband/hw/hfi1/pcie.c                  |   8 +
 drivers/infiniband/hw/hfi1/pio.c                   |  44 +-
 drivers/infiniband/hw/hfi1/rc.c                    |  10 +-
 drivers/infiniband/hw/hfi1/ruc.c                   | 154 +------
 drivers/infiniband/hw/hfi1/sdma.c                  |  12 +-
 drivers/infiniband/hw/hfi1/trace.c                 |  43 +-
 drivers/infiniband/hw/hfi1/trace_dbg.h             |   3 +-
 drivers/infiniband/hw/hfi1/trace_ibhdrs.h          | 160 ++++---
 drivers/infiniband/hw/hfi1/uc.c                    |   4 +-
 drivers/infiniband/hw/hfi1/ud.c                    |  61 ++-
 drivers/infiniband/hw/hfi1/user_exp_rcv.c          |  11 +-
 drivers/infiniband/hw/hfi1/user_sdma.h             |   4 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |  45 +-
 drivers/infiniband/hw/hfi1/verbs.h                 |  15 +-
 drivers/infiniband/hw/hns/hns_roce_alloc.c         |   8 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.c           |   3 +
 drivers/infiniband/hw/hns/hns_roce_device.h        |  14 +
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         | 188 ++++++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   7 +-
 drivers/infiniband/hw/hns/hns_roce_main.c          |  76 ++-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |   6 -
 drivers/infiniband/hw/hns/hns_roce_pd.c            |  10 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |  67 ++-
 drivers/infiniband/hw/i40iw/i40iw_cm.h             |   4 +-
 drivers/infiniband/hw/i40iw/i40iw_hw.c             |  34 +-
 drivers/infiniband/hw/i40iw/i40iw_main.c           |   2 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   1 -
 drivers/infiniband/hw/mlx4/main.c                  |  60 +--
 drivers/infiniband/hw/mlx4/mr.c                    |  50 +-
 drivers/infiniband/hw/mlx4/qp.c                    |   2 +-
 drivers/infiniband/hw/mlx5/cq.c                    |  59 ++-
 drivers/infiniband/hw/mlx5/ib_rep.c                |   2 +-
 drivers/infiniband/hw/mlx5/ib_rep.h                |   2 +-
 drivers/infiniband/hw/mlx5/main.c                  | 511 ++++++++++++++++++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  36 ++
 drivers/infiniband/hw/mlx5/qp.c                    |  43 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   4 +-
 drivers/infiniband/hw/qib/qib.h                    |   4 +-
 drivers/infiniband/hw/qib/qib_file_ops.c           |  12 +-
 drivers/infiniband/hw/qib/qib_init.c               |  13 +
 drivers/infiniband/hw/qib/qib_rc.c                 |   8 +-
 drivers/infiniband/hw/qib/qib_ruc.c                | 154 +------
 drivers/infiniband/hw/qib/qib_uc.c                 |   4 +-
 drivers/infiniband/hw/qib/qib_ud.c                 |   4 +-
 drivers/infiniband/hw/qib/qib_user_pages.c         |  20 +-
 drivers/infiniband/hw/qib/qib_verbs.c              |   6 +-
 drivers/infiniband/hw/qib/qib_verbs.h              |   2 -
 drivers/infiniband/sw/rdmavt/Kconfig               |   2 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |  74 ++-
 drivers/infiniband/sw/rdmavt/cq.h                  |   6 +-
 drivers/infiniband/sw/rdmavt/qp.c                  | 151 +++++-
 drivers/infiniband/sw/rdmavt/trace_cq.h            |  35 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |  35 +-
 drivers/infiniband/sw/rxe/Kconfig                  |   1 +
 drivers/infiniband/sw/rxe/rxe.c                    |  11 +-
 drivers/infiniband/sw/rxe/rxe.h                    |   4 +-
 drivers/infiniband/sw/rxe/rxe_comp.c               |  10 +-
 drivers/infiniband/sw/rxe/rxe_loc.h                |  13 +-
 drivers/infiniband/sw/rxe/rxe_mr.c                 |  13 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |  18 +-
 drivers/infiniband/sw/rxe/rxe_net.h                |   3 -
 drivers/infiniband/sw/rxe/rxe_recv.c               |   7 +-
 drivers/infiniband/sw/rxe/rxe_req.c                |   2 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |  20 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |   6 +-
 drivers/infiniband/ulp/ipoib/ipoib.h               |   2 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |  93 ++--
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c     |  15 +-
 drivers/infiniband/ulp/iser/iscsi_iser.c           |  12 +-
 drivers/infiniband/ulp/iser/iscsi_iser.h           |   6 +-
 drivers/infiniband/ulp/iser/iser_initiator.c       |   2 +-
 drivers/infiniband/ulp/iser/iser_memory.c          |   4 +-
 drivers/infiniband/ulp/iser/iser_verbs.c           |  21 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |  37 +-
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |  28 +-
 .../mellanox/mlx5/core/diag/fs_tracepoint.c        |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c  |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   1 -
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |   3 +
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |  17 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |   2 +
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |  21 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   9 +
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  26 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   4 +-
 .../net/ethernet/mellanox/mlx5/core/fs_counters.c  |   7 +-
 drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/qp.c       |  18 +-
 drivers/net/ethernet/mellanox/mlx5/core/vport.c    |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/wq.h       |   1 -
 include/linux/mlx5/device.h                        |  12 +
 include/linux/mlx5/fs.h                            |  10 +-
 include/linux/mlx5/mlx5_ifc.h                      |  66 ++-
 include/linux/mm.h                                 |   8 +-
 include/rdma/ib_addr.h                             |  20 +-
 include/rdma/ib_cache.h                            |   1 +
 include/rdma/ib_verbs.h                            | 102 +++-
 include/rdma/rdma_cm.h                             |   3 +
 include/rdma/rdma_vt.h                             |   7 +-
 include/rdma/rdmavt_cq.h                           |   5 +-
 include/rdma/rdmavt_qp.h                           |   1 +
 include/rdma/restrack.h                            |  22 +-
 include/rdma/uverbs_ioctl.h                        |  11 +
 include/uapi/rdma/ib_user_ioctl_cmds.h             |  21 +
 include/uapi/rdma/ib_user_verbs.h                  |  63 +++
 include/uapi/rdma/mlx5-abi.h                       |  30 +-
 include/uapi/rdma/rdma_netlink.h                   |  30 +-
 mm/memory.c                                        |   7 +-
 156 files changed, 4560 insertions(+), 1827 deletions(-)
 create mode 100644 drivers/infiniband/core/uverbs_std_types_counters.c
 create mode 100644 drivers/infiniband/hw/cxgb4/restrack.c
 create mode 100644 drivers/infiniband/hw/hfi1/fault.c
 create mode 100644 drivers/infiniband/hw/hfi1/fault.h

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-06-01 16:47 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-06-01 16:47 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2335 bytes --]

Hi Linus,

Third pull request for -rc

Just 3 small last minute regressions that were found in the last week. The
Broadcom fix is a bit big for rc7, but since it is fixing driver crash
regressions that were merged via netdev into rc1, I am sending it.

The following changes since commit 55ba49cbcef37053d973f9a45bc58818c333fe13:

  RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to a840c93ca7582bb6c88df2345a33f979b7a67874:

  IB/core: Fix error code for invalid GID entry (2018-05-29 12:08:37 -0600)

----------------------------------------------------------------
Merge candidates for 4.17-rc

- bnxt netdev changes merged this cycle caused the bnxt RDMA driver to crash under
  certain situations
- Arnd found (several, unfortunately) kconfig problems with the patches adding
  INFINIBAND_ADDR_TRANS. Reverting this last part, will fix it more fully
  outside -rc.
- Subtle change in error code for a uapi function caused breakage in userspace.
  This was bug was subtly introduced cycle

----------------------------------------------------------------
Arnd Bergmann (1):
      IB: Revert "remove redundant INFINIBAND kconfig dependencies"

Devesh Sharma (1):
      RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes

Parav Pandit (1):
      IB/core: Fix error code for invalid GID entry

 drivers/infiniband/core/cache.c            |  2 +-
 drivers/infiniband/hw/bnxt_re/main.c       | 55 ++++++++++++++++-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c   | 94 +++++++++++++++++++-----------
 drivers/infiniband/hw/bnxt_re/qplib_fp.h   |  3 +
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 61 +++++++++++++------
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h |  3 +
 drivers/infiniband/ulp/srpt/Kconfig        |  2 +-
 drivers/nvme/host/Kconfig                  |  2 +-
 drivers/nvme/target/Kconfig                |  2 +-
 drivers/staging/lustre/lnet/Kconfig        |  2 +-
 fs/cifs/Kconfig                            |  2 +-
 net/9p/Kconfig                             |  2 +-
 net/rds/Kconfig                            |  2 +-
 net/sunrpc/Kconfig                         |  2 +-
 14 files changed, 172 insertions(+), 62 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-05-24 20:51 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-05-24 20:51 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

Hi Linus,

Second pull request for -rc

We haven't had quite the same rate of -rc patches this cycle, not much Syzkaller
related stuff right now as the remaining bugs it has found require some kind of
significant redesign to solve. The -next branch is also somewhat quieter than
normal.

This is pretty much just the usual array of smallish driver bugs.

There is a patch that cleans up the kconfig around INFINIBAND_ADDR_TRANS that
touches a few files, this is related the the patch introducing
INFINIBAND_ADDR_TRANS that was accepted earlier this cycle
  f7cb7b85be55 ("IB: make INFINIBAND_ADDR_TRANS configurable")

The following changes since commit 9aa169213d1166d30ae357a44abbeae93459339d:

  RDMA/cma: Do not query GID during QP state transition to RTR (2018-05-03 15:45:18 -0400)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 55ba49cbcef37053d973f9a45bc58818c333fe13:

  RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600)

----------------------------------------------------------------
Merge candidates for 4.17-rc

- Remove bouncing addresses from the MAINTAINERS file
- Kernel oops and bad error handling fixes for hfi, i40iw, cxgb4, and hns drivers
- Various small LOC behavioral/operational bugs in mlx5, hns, qedr and i40iw drivers
- Two fixes for patches already sent during the merge window
- A long standing bug related to not decreasing the pinned pages count in the right
  MM was found and fixed

----------------------------------------------------------------
Alexandru Moise (1):
      nvmet,rxe: defer ip datagram sending to tasklet

Andrew Boyer (3):
      RDMA/i40iw: Avoid panic when objects are being created and destroyed
      RDMA/i40iw: Avoid reference leaks when processing the AEQ
      RDMA/i40iw: Avoid panic when reading back the IRQ affinity hint

Christophe Jaillet (1):
      iw_cxgb4: Fix an error handling path in 'c4iw_get_dma_mr()'

Daria Velikovsky (1):
      RDMA/mlx5: Use proper spec flow label type

Greg Thelen (1):
      IB: remove redundant INFINIBAND kconfig dependencies

Jason Gunthorpe (1):
      IB/uverbs: Fix uverbs_attr_get_obj

Kalderon, Michal (1):
      RDMA/qedr: Fix doorbell bar mapping for dpi > 1

Leon Romanovsky (1):
      MAINTAINERS: Remove bouncing @mellanox.com addresses

Lidong Chen (1):
      IB/umem: Use the correct mm during ib_umem_release

Michael J. Ruhl (1):
      IB/hfi1: Use after free race condition in send context error path

Mustafa Ismail (2):
      i40iw: Fix memory leak in error path of create QP
      i40iw: Use correct address in dst_neigh_lookup for IPv6

Yishai Hadas (1):
      RDMA/mlx5: Don't assume that medium blueFlame register exists

oulijun (13):
      RDMA/hns: Add rq inline flags judgement
      RDMA/hns: Bugfix for rq record db for kernel
      RDMA/hns: Load the RoCE dirver automatically
      RDMA/hns: Update convert function of endian format
      RDMA/hns: Add return operation when configured global param fail
      RDMA/hns: Not support qp transition from reset to reset for hip06
      RDMA/hns: Fix the bug with rq sge
      RDMA/hns: Set desc_dma_addr for zero when free cmq desc
      RDMA/hns: Enable inner_pa_vld filed of mpt
      RDMA/hns: Set NULL for __internal_mr
      RDMA/hns: Fix the bug with NULL pointer
      RDMA/hns: Bugfix for cq record db for kernel
      RDMA/hns: Move the location for initializing tmp_len

 MAINTAINERS                                |  6 ---
 drivers/infiniband/core/umem.c             |  7 +---
 drivers/infiniband/hw/cxgb4/mem.c          |  4 +-
 drivers/infiniband/hw/hfi1/chip.c          |  4 ++
 drivers/infiniband/hw/hns/hns_roce_cq.c    |  1 +
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c |  3 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 32 +++++++++++-----
 drivers/infiniband/hw/hns/hns_roce_main.c  |  2 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c    | 10 ++++-
 drivers/infiniband/hw/i40iw/i40iw.h        |  1 +
 drivers/infiniband/hw/i40iw/i40iw_cm.c     |  2 +-
 drivers/infiniband/hw/i40iw/i40iw_hw.c     |  4 +-
 drivers/infiniband/hw/i40iw/i40iw_main.c   |  7 ++--
 drivers/infiniband/hw/i40iw/i40iw_verbs.c  | 13 +++++--
 drivers/infiniband/hw/i40iw/i40iw_verbs.h  |  1 +
 drivers/infiniband/hw/mlx5/main.c          |  2 +-
 drivers/infiniband/hw/mlx5/qp.c            | 18 +++++----
 drivers/infiniband/hw/qedr/verbs.c         | 60 +++++++++++++++---------------
 drivers/infiniband/sw/rxe/rxe_verbs.c      | 10 +----
 drivers/infiniband/ulp/srpt/Kconfig        |  2 +-
 drivers/nvme/host/Kconfig                  |  2 +-
 drivers/nvme/target/Kconfig                |  2 +-
 drivers/staging/lustre/lnet/Kconfig        |  2 +-
 fs/cifs/Kconfig                            |  2 +-
 include/rdma/ib_umem.h                     |  1 -
 include/rdma/uverbs_ioctl.h                | 10 ++---
 net/9p/Kconfig                             |  2 +-
 net/rds/Kconfig                            |  2 +-
 net/sunrpc/Kconfig                         |  2 +-
 29 files changed, 116 insertions(+), 98 deletions(-)

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-05-16 17:49   ` Jason Gunthorpe
@ 2018-05-16 18:01     ` Eugene Syromiatnikov
  0 siblings, 0 replies; 77+ messages in thread
From: Eugene Syromiatnikov @ 2018-05-16 18:01 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linux Torvalds, Doug Ledford, linux-rdma, linux-kernel

On Wed, May 16, 2018 at 11:49:33AM -0600, Jason Gunthorpe wrote:
> On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote:
> > On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> > >       RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
> > Looks like this change changed the size of struct hfi1_ctxt_info and the
> > value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.
> 
> Only on 32 bit..
> 
> HF1 does not build on 32 bit kernels, so the 32 bit version of the
> ioctl is never supported.
> 
> HFI1 also does not define '.compat_ioctl' so even a 32 bit user space
> on 64 bit kernel cannot call this ioctl.
> 
> So, yes it changed, but it doesn't matter.
> 
> > >       IB/uverbs: Extend uverbs_ioctl header with driver_id
> > This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
> > 
> > (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
> > for the reference)
> 
> Yes.
> 
> RDMA_VERBS_IOCTL has been considered experimental and was protected by
> a CONFIG option.
> 
> After the above commit the experimental was dropped and the ABI was
> fixed, but prior to doing so, the struct was revised based on
> feedback.
> 
> There is no userspace user of the old struct, only the new struct.
> 
> Basically from strace's perspective it should use the new ioctl #'s
> across all kernel revs and it will be correct as there is no user
> space that will issue the old ioctls.

Got it, thanks for the clarification!

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-05-16 17:39 ` Eugene Syromiatnikov
@ 2018-05-16 17:49   ` Jason Gunthorpe
  2018-05-16 18:01     ` Eugene Syromiatnikov
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-05-16 17:49 UTC (permalink / raw)
  To: Eugene Syromiatnikov
  Cc: Linux Torvalds, Doug Ledford, linux-rdma, linux-kernel

On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote:
> On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> >       RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
> Looks like this change changed the size of struct hfi1_ctxt_info and the
> value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.

Only on 32 bit..

HF1 does not build on 32 bit kernels, so the 32 bit version of the
ioctl is never supported.

HFI1 also does not define '.compat_ioctl' so even a 32 bit user space
on 64 bit kernel cannot call this ioctl.

So, yes it changed, but it doesn't matter.

> >       IB/uverbs: Extend uverbs_ioctl header with driver_id
> This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
> 
> (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
> for the reference)

Yes.

RDMA_VERBS_IOCTL has been considered experimental and was protected by
a CONFIG option.

After the above commit the experimental was dropped and the ABI was
fixed, but prior to doing so, the struct was revised based on
feedback.

There is no userspace user of the old struct, only the new struct.

Basically from strace's perspective it should use the new ioctl #'s
across all kernel revs and it will be correct as there is no user
space that will issue the old ioctls.

Jason

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
  2018-04-06 16:05 Jason Gunthorpe
@ 2018-05-16 17:39 ` Eugene Syromiatnikov
  2018-05-16 17:49   ` Jason Gunthorpe
  0 siblings, 1 reply; 77+ messages in thread
From: Eugene Syromiatnikov @ 2018-05-16 17:39 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Linux Torvalds, Doug Ledford, linux-rdma, linux-kernel

On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
>       RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
Looks like this change changed the size of struct hfi1_ctxt_info and the
value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.

>       IB/uverbs: Extend uverbs_ioctl header with driver_id
This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.

(see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
for the reference)

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-04-06 16:05 Jason Gunthorpe
  2018-05-16 17:39 ` Eugene Syromiatnikov
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-04-06 16:05 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 30714 bytes --]

Hi Linus,

Here are the RDMA patches for for 4.17.

This cycle we have some interesting conflicts, a syzkaller related bug fix in
rc clashed very badly with the Mellanox shared pull request. Doug made the
resolution in the RDMA tree for-next tree and DaveM refered to it when he
pulled in the same patches. This turned out to create two commits to the same
file which then also creates an unexpected conflict here. In retrospect
perhaps we should have tried to push the conflict resolution as a shared patch
as well.

So at this point we have conflicts between net-next, RDMA for-rc and RDMA
for-next. As before I've resolved them in the top commit, but this couldn't
be done against a nice tag. I choose to use your merge of net-next, which
has all the necessary patches.

The for-linus-unmerged tag is the same PR without this resolution. In this
case the conflicts are easy to resolve by hand. Just deleting the conflict
markers is correct in every case execpt umca.c which requires this:

-       ctx->cm_id = __rdma_create_id(current->nsproxy->net_ns,
-                             ucma_event_handler, ctx, cmd.ps, qp_type, NULL);
-       if (IS_ERR(ctx->cm_id)) {
-               ret = PTR_ERR(ctx->cm_id);
 -      cm_id = rdma_create_id(current->nsproxy->net_ns,
 -                             ucma_event_handler, ctx, cmd.ps, qp_type);
++      cm_id = __rdma_create_id(current->nsproxy->net_ns,
++                             ucma_event_handler, ctx, cmd.ps, qp_type, NULL);
+       if (IS_ERR(cm_id)) {
+               ret = PTR_ERR(cm_id);

Doug and I are at a conference next week so if another PR is sent I expect it
to only be bug fixes. Parav noted yesterday that there are some fringe case
behavior changes in his work that he would like to fix, and I see that Intel
has a number of rc looking patches for HFI1 they posted yesterday.

Parav is again the biggest contributor by patch count with his ongoing work to
enable container support in the RDMA stack, followed by Leon doing syzkaller
inspired cleanups, though most of the actual fixing went to RC.

There is one uncomfortable series here fixing the user ABI to actually work as
intended in 32 bit mode. There are lots of notes in the commit messages, but
the basic summary is we don't think there is an actual 32 bit kernel user of
drivers/infiniband for several good reasons. However we are seeing people want
to use a 32 bit user space with 64 bit kernel, which didn't completely work
today. So in fixing it we required a 32 bit rxe user to upgrade their
userspace. rxe users are still already quite rare and we think a 32 bit one is
non-existing.

Thanks,
Jason

The following changes since commit 5bb053bef82523a8fd78d650bca81c9f114fa276:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next (2018-04-03 14:04:18 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 423009d1cbb77b67f6eba65efd116874e6b6b69d:

  Merge net-next of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (2018-04-05 20:57:10 -0600)

----------------------------------------------------------------
Merge candidates for 4.17 merge window

- Fix RDMA uapi headers to actually compile in userspace and be more
  complete

- Three shared with netdev pull requests from Mellanox:

   * 7 patches, mostly to net with 1 IB related one at the back). This
     series addresses an IRQ performance issue (patch 1), cleanups related to
     the fix for the IRQ performance problem (patches 2-6), and then extends
     the fragmented completion queue support that already exists in the net
     side of the driver to the ib side of the driver (patch 7).

   * Mostly IB, with 5 patches to net that are needed to support the remaining
     10 patches to the IB subsystem. This series extends the current
     'representor' framework when the mlx5 driver is in switchdev mode from
     being a netdev only construct to being a netdev/IB dev construct. The IB
     dev is limited to raw Eth queue pairs only, but by having an IB dev of
     this type attached to the representor for a switchdev port, it enables
     DPDK to work on the switchdev device.

   * All net related, but needed as infrastructure for the rdma driver

- Updates for the hns, i40iw, bnxt_re, cxgb3, cxgb4, hns drivers

- SRP performance updates

- IB uverbs write path cleanup patch series from Leon

- Add RDMA_CM support to ib_srpt. This is disabled by default.  Users need to
  set the port for ib_srpt to listen on in configfs in order for it to be
  enabled (/sys/kernel/config/target/srpt/discovery_auth/rdma_cm_port)

- TSO and Scatter FCS support in mlx4

- Refactor of modify_qp routine to resolve problems seen while working on new
  code that is forthcoming

- More refactoring and updates of RDMA CM for containers support from Parav

- mlx5 'fine grained packet pacing', 'ipsec offload' and 'device memory'
  user API features

- Infrastructure updates for the new IOCTL interface, based on increased usage

- ABI compatibility bug fixes to fully support 32 bit userspace on 64 bit
  kernel as was originally intended. See the commit messages for
  extensive details

- Syzkaller bugs and code cleanups motivated by them

----------------------------------------------------------------
Andrew Morton (2):
      drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4
      drivers/infiniband/ulp/srpt/ib_srpt.c: fix build with gcc-4.4.4

Andy Shevchenko (1):
      RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()

Ariel Levkovich (8):
      IB/uverbs: Expose device memory capabilities to user
      IB/uverbs: Add device memory capabilities reporting
      IB/uverbs: Add alloc/free dm uverbs ioctl support
      IB/uverbs: Add device memory registration ioctl support
      net/mlx5: Query device memory capabilities
      IB/mlx5: Device memory support in mlx5_ib
      net/mlx5: Mkey creation command adjustments
      IB/mlx5: Device memory mr registration support

Arnd Bergmann (3):
      infiniband: qplib_fp: fix pointer cast
      infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks
      RDMA/i40iw: include linux/irq.h

Arushi (1):
      infiniband: hw: Drop unnecessary continue

Aviad Yehezkel (3):
      IB/mlx5: Add implementation for create and destroy action_xfrm
      {net,IB}/mlx5: Add ipsec helper
      IB/mlx5: Add IPsec support for egress and ingress

Bart Van Assche (13):
      IB/srp: Fix completion vector assignment algorithm
      IB/srp: Fix srp_abort()
      Revert "IB/srp: Avoid that a cable pull can trigger a kernel crash"
      IB/srp: Use %pIS instead of inet_ntop()
      RDMA/core: Avoid that ib_drain_qp() triggers an out-of-bounds stack access
      RDMA/rxe: Fix an out-of-bounds read
      IB/srpt: Fix an out-of-bounds stack access in srpt_zerolength_write()
      IB/hfi1: Add a missing rcu_read_unlock()
      IB/srpt: Add RDMA/CM support
      IB/hfi1: Fix a kernel-doc warning
      RDMA/bnxt_re: Remove an unused variable
      IB/srp: Fix IPv6 address parsing
      IB/srp: Disallow duplicate RDMA/CM connections

Bharat Potnuri (1):
      iw_cxgb4: print mapped ports correctly

Bodong Wang (2):
      net/mlx5: Packet pacing enhancement
      IB/mlx5: Packet packing enhancement for RAW QP

Boris Pismenny (2):
      IB/mlx4: Check for egress flow steering
      IB/uverbs: Introduce egress flow steering

Colin Ian King (2):
      infiniband: remove redundant assignment to pointer 'rdi'
      qedr: Fix spelling mistake: "hanlde" -> "handle"

Corentin Labbe (1):
      IB/cxgb3: remove cxio_dbg.c

Daniel Jurgens (1):
      IB/mlx5: Only synchronize RCU once when removing mkeys

Doug Ledford (6):
      Merge tag 'mlx5-updates-2018-02-21' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
      Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next
      Merge tag 'mlx5-updates-2018-02-23' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
      Merge tag 'mlx5-updates-2018-02-28-1' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
      Merge tag 'mlx5-updates-2018-02-28-2' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
      Merge branch 'k.o/wip/dl-for-rc' into k.o/wip/dl-for-next

Gustavo A. R. Silva (2):
      RDMA/bnxt_re/qplib_sp: Use true and false for boolean values
      IB/ocrdma_hw: Remove redundant checks and goto labels

Guy Levi (1):
      IB/mlx4: Add Scatter FCS support over WQ creation

Henry Orosco (2):
      i40iw: Refactor of driver generated AEs
      i40iw: Tear-down connection after CQP Modify QP failure

Hernán Gonzalez (3):
      IB/qib: Remove unused variable (char *qib_sdma_event_names[])
      IB/qib: Move char *qib_sdma_state_names[] and constify while there.
      IB/rxe: Remove unused variable (char *rxe_qp_state_name[])

Honggang Li (2):
      IB/core: Set speed string to SDR for invalid active rates
      IB/mlx5: Set the default active rate and width to QDR and 4X

Ilya Lesokhin (1):
      IB/mlx5: Maintain a single emergency page

Jason Gunthorpe (23):
      RDMA: Do not used __packed in uapi headers
      rxe: Do not use 'struct sockaddr' in a uapi header
      IB/uverbs: Tidy uverbs_uobject_add
      RDMA/rxe: Get rid of confusing udata parameter to rxe_cq_chk_attr
      RDMA/rxe: Use structs to describe the uABI instead of opencoding
      RDMA/mlx4: Move flag constants to uapi header
      RDMA/i40iw: Move uapi header to include/uapi
      RDMA/hns: Use structs to describe the uABI instead of opencoding
      RDMA/cxgb4: Use structs to describe the uABI instead of opencoding
      RDMA/bnxt: Fix structure layout for bnxt_re_pd_resp
      RDMA/cxgb3: Use structs to describe the uABI instead of opencoding
      RDMA/ocrdma: Fix structure layout for ocrdma_alloc_pd
      RDMA: Remove minor pahole differences between 32/64
      RDMA/ucma: Fix uABI structure layouts for 32/64 compat
      RDMA/qedr: Fix uABI structure layouts for 32/64 compat
      RDMA/mlx4: Fix uABI structure layouts for 32/64 compat
      RDMA/rxe: Fix uABI structure layouts for 32/64 compat
      RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
      Merge branch '32compat'
      RDMA: Use u64_to_user_ptr everywhere
      RDMA/mlx5: Fix definition of mlx5_ib_create_qp_resp
      RDMA/qedr: Zero stack memory before copying to user space
      Merge net-next of git://git.kernel.org/.../torvalds/linux-2.6.git

Kalderon, Michal (1):
      RDMA/qedr: Fix wmb usage in qedr

Leon Romanovsky (28):
      RDMA/uverbs: Convert command mask validity check function to be bool
      RDMA/uverbs: Update sizeof users
      RDMA/uverbs: Refactor flags checks and update return value
      RDMA/uverbs: Fail as early as possible if not enough header data was provided
      RDMA/uverbs: Return not supported error code for unsupported commands
      RDMA/uverbs: Unify return values of not supported command
      RDMA/uverbs: Refactor command header processing
      RDMA/uverbs: Properly check command supported mask
      RDMA/uverbs: Move uncontext check before SRCU read lock
      RDMa/uverbs: Copy ex_hdr outside of SRCU read lock
      RDMA/uverbs: Refactor the header validation logic
      RDMA/uverbs: Replace user's types with kernel's types
      RDMA/uverbs: Reduce number of command header flags checks
      RDMA/verbs: Return proper error code for not supported system call
      mailmap: Map Leon Romanovsky's emails
      RDMA/mlx5: Refactor QP type check to be as early as possible
      RDMA/mlx5: Fix NULL dereference while accessing XRC_TGT QPs
      RDMA/uverbs: Ensure validity of current QP state value
      RDMA/pvrdma: Properly annotate QP states
      RDMA/verbs: Simplify modify QP check
      RDMA/mlx5: Protect from NULL pointer derefence
      RDMA/mlx5: Return proper value for not-supported command
      RDMA/mlx5: Unify error flows in rereg MR failure paths
      RDMA/mlx5: Guard ODP specific assignments with specific CONFIG
      RDMA/mlx5: Simplify clean and destroy MR calls
      RDMA/restrack: Don't rely on uninitialized variable in restrack_add flow
      RDMA/restrack: Remove ambiguity in resource track clean logic
      RDMA/nldev: Provide netdevice name and index

Majd Dibbiny (2):
      IB/mlx5: Enable ECN capable bits for UD RoCE v2 QPs
      IB/mlx5: Respect new UMR capabilities

Mark Bloch (2):
      IB/mlx5: Expose more priorities for bypass namespace
      IB/core: Protect against concurrent access to hardware stats

Markus Elfring (2):
      IB/usnic: Delete an error message for a failed memory allocation in usnic_transport_init()
      RDMA/iwpm: Delete an error message for a failed memory allocation in iwpm_create_nlmsg()

Martin Wilck (1):
      rdma_rxe: make rxe work over 802.1q VLAN devices

Matan Barak (19):
      IB/uverbs: Move to new headers and make naming consistent
      IB/uverbs: Extend uverbs_ioctl header with driver_id
      IB/uverbs: Enable compact representation of uverbs_attr_spec
      IB/uverbs: Safely extend existing attributes
      IB/uverbs: Expose parsing tree of all common objects to providers
      IB/uverbs: Move ioctl path of create_cq and destroy_cq to a new file
      IB/uverbs: Add macros to simplify adding driver specific attributes
      IB/uverbs: Enable ioctl() uAPI by default for new verbs
      IB/uverbs: UAPI pointers should use __aligned_u64 type
      IB/mlx5: Initialize the parsing tree root without the help of uverbs
      IB/uverbs: Add enum attribute type to ioctl() interface
      IB/uverbs: Refactor kern_spec_to_ib_spec_filter
      IB/uverbs: Add flow_action create and destroy verbs
      IB/uverbs: Add action_handle flow steering specification
      IB/uverbs: Add modify ESP flow_action
      IB/uverbs: Introduce ESP steering match filter
      IB/mlx5: Add modify_flow_action_esp verb
      IB/mlx5: Add information for querying IPsec capabilities
      IB/mlx5: Add ability to hash by IPSEC_SPI when creating a TIR

Mikhail Malygin (1):
      IB/rxe: Fix for oops in rxe_register_device on ppc64le arch

Mustafa Ismail (1):
      i40iw: Refactor handling of txpend list

Parav Pandit (31):
      IB/core: Fix comments of GID query functions
      IB/{core, ipoib}: Simplify ib_find_gid() for unused ndev
      IB/core: Honor return status of ib_init_ah_from_mcmember()
      IB/core: Honor port_num while resolving GID for IB link layer
      IB/cma: Use rdma_protocol_roce() and remove cma_protocol_roce_dev_port()
      IB/core: Remove rdma_resolve_ip_route() as exported symbol
      IB/ocrdma: Removed GID add/del null routines
      IB/cm: Add and use a helper function to add cm_id's to the port list
      IB/core: Refactor ib_init_ah_attr_from_path() for RoCE
      IB/cm: Introduce and use helper function to get cm_port from path
      IB/core: Move rdma_addr_find_l2_eth_by_grh to core_priv.h
      IB/core: Use rdma_is_port_valid()
      IB/core: Remove unimplemented ib_peek_cq
      IB/core: Refer to RoCE port property instead of GID table property
      IB/cma: Resolve route only while receiving CM requests
      IB/cm: Block processing alternate path handling RoCE Rx cm messages
      IB/core: Generate GID change event regardless of RoCE GID table property
      IB/core: Refer to RoCE port property instead of GID table property
      IB/core: Search GID only for IB link layer
      IB/core: Refer to RoCE port property to decide building cache
      IB/addr: Constify dst_entry pointer
      RDMA/cma: Move rdma_cm_state to cma_priv.h
      IB/qedr: Remove GID add/del dummy routines
      RDMA/core: Update query_gid documentation for HCA drivers
      RDMA/providers: Simplify query_gid callback of RoCE providers
      IB/core: Simplify ib_query_gid to always refer to cache
      IB/core: Refactor GID modify code for RoCE
      IB/providers: Avoid zero GID check for RoCE
      IB/providers: Avoid null netdev check for RoCE
      RDMA: Use ib_gid_attr during GID modification
      IB/rxe: Removed GID add/del dummy routines

Roland Dreier (1):
      RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device

Sergey Gorenko (1):
      IB/srp: Use the IB_DEVICE_SG_GAPS_REG HCA feature if supported

Shiraz Saleem (3):
      i40iw: Improve CM node lookup time on connection setup
      i40iw: Implement get_vector_affinity API
      i40iw: Remove pre-production workaround for resource profile 1

Sinan Kaya (2):
      RDMA/qedr: eliminate duplicate barriers on weakly-ordered archs
      IB/mlx4: Eliminate duplicate barriers on weakly-ordered archs

Steve Wise (13):
      RDMA/restrack: clean up res_to_dev()
      RDMA/nldev: common resource dumpit function
      RDMA/CM: move rdma_id_private to cma_priv.h
      RDMA/nldev: provide detailed CM_ID information
      RDMA/nldev: provide detailed CQ information
      iw_cxgb4: initialize ib_mr fields for user mrs
      mlx4_ib: set user mr attributes in struct ib_mr
      RDMA/nldev: provide detailed MR information
      mlx4_ib: zero out struct ib_pd when allocating
      RDMA/nldev: provide detailed PD information
      iw_cxgb4: Add ib_device->get_netdev support
      RDMA/CMA: remove RDMA_PS_SDP
      RDMA/CMA: Add rdma_port_space to UAPI

Tejun Heo (1):
      RDMAVT: Fix synchronization around percpu_ref

Yishai Hadas (2):
      IB/mlx4: Move mlx4_uverbs_ex_query_device_resp to include/uapi/
      IB/mlx4: Report TSO capabilities

Yixian Liu (8):
      RDMA/hns: Fix QP state judgement before receiving work requests
      RDMA/hns: Support rq record doorbell for the user space
      RDMA/hns: Support cq record doorbell for the user space
      RDMA/hns: Support rq record doorbell for kernel space
      RDMA/hns: Support cq record doorbell for kernel space
      RDMA/hns: Fix cqn type and init resp
      RDMA/hns: Fix init resp when alloc ucontext
      RDMA/hns: Fix cq record doorbell enable in kernel

Yuval Shaia (1):
      IB/ipoib: Delete unused struct

Zhu Yanjun (5):
      IB/rxe: remove unnecessary skb_clone
      IB/rxe: remove unnecessary rxe in rxe_send
      IB/rxe: change the function rxe_init_device_param type
      IB: remove duplicate header files
      IB/rxe: optimize mcast recv process

oulijun (2):
      RDMA/hns: Fix a bug with modifying mac address
      RDMA/hns: Use free_pages function instead of free_page

 .mailmap                                           |   2 +
 MAINTAINERS                                        |   1 +
 drivers/infiniband/Kconfig                         |  11 +-
 drivers/infiniband/core/Makefile                   |   4 +-
 drivers/infiniband/core/addr.c                     |  13 +-
 drivers/infiniband/core/cache.c                    | 533 ++++++++++---------
 drivers/infiniband/core/cm.c                       |  67 ++-
 drivers/infiniband/core/cma.c                      | 160 +++---
 drivers/infiniband/core/cma_priv.h                 |  97 ++++
 drivers/infiniband/core/core_priv.h                |  11 +
 drivers/infiniband/core/device.c                   |  18 +-
 drivers/infiniband/core/iwpm_util.c                |   5 +-
 drivers/infiniband/core/multicast.c                |  26 +-
 drivers/infiniband/core/nldev.c                    | 364 +++++++++++--
 drivers/infiniband/core/rdma_core.c                |  13 +-
 drivers/infiniband/core/restrack.c                 | 121 +++--
 drivers/infiniband/core/sa_query.c                 | 202 ++++----
 drivers/infiniband/core/sysfs.c                    |  53 +-
 drivers/infiniband/core/ucm.c                      |  18 +-
 drivers/infiniband/core/ucma.c                     |  40 +-
 drivers/infiniband/core/uverbs.h                   |  41 ++
 drivers/infiniband/core/uverbs_cmd.c               | 279 +++++++---
 drivers/infiniband/core/uverbs_ioctl.c             |  60 ++-
 drivers/infiniband/core/uverbs_ioctl_merge.c       |   2 +-
 drivers/infiniband/core/uverbs_main.c              | 218 ++++----
 drivers/infiniband/core/uverbs_std_types.c         | 326 ++++--------
 drivers/infiniband/core/uverbs_std_types_cq.c      | 210 ++++++++
 drivers/infiniband/core/uverbs_std_types_dm.c      | 108 ++++
 .../infiniband/core/uverbs_std_types_flow_action.c | 435 ++++++++++++++++
 drivers/infiniband/core/uverbs_std_types_mr.c      | 147 ++++++
 drivers/infiniband/core/verbs.c                    |  87 ++--
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  20 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   6 +-
 drivers/infiniband/hw/bnxt_re/main.c               |   2 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   2 +-
 drivers/infiniband/hw/cxgb3/Kconfig                |   9 -
 drivers/infiniband/hw/cxgb3/Makefile               |   2 -
 drivers/infiniband/hw/cxgb3/cxio_dbg.c             | 206 --------
 drivers/infiniband/hw/cxgb3/cxio_hal.h             |   9 -
 drivers/infiniband/hw/cxgb3/iwch_cq.c              |   6 -
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |   5 +-
 drivers/infiniband/hw/cxgb4/device.c               |  24 +-
 drivers/infiniband/hw/cxgb4/mem.c                  |   3 +
 drivers/infiniband/hw/cxgb4/provider.c             |  24 +-
 drivers/infiniband/hw/hfi1/driver.c                |   1 +
 drivers/infiniband/hw/hfi1/hfi.h                   |   1 -
 drivers/infiniband/hw/hfi1/qp.c                    |   1 -
 drivers/infiniband/hw/hfi1/user_exp_rcv.c          |   4 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |   2 +-
 drivers/infiniband/hw/hns/Makefile                 |   2 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c            |   8 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c            |  54 +-
 drivers/infiniband/hw/hns/hns_roce_db.c            | 180 +++++++
 drivers/infiniband/hw/hns/hns_roce_device.h        |  59 ++-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   8 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  80 +--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   3 +
 drivers/infiniband/hw/hns/hns_roce_main.c          |  41 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |   2 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c            |   5 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |  70 ++-
 drivers/infiniband/hw/i40iw/i40iw.h                |  11 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             | 129 +++--
 drivers/infiniband/hw/i40iw/i40iw_cm.h             |   5 +-
 drivers/infiniband/hw/i40iw/i40iw_ctrl.c           |  56 +-
 drivers/infiniband/hw/i40iw/i40iw_d.h              |   5 +-
 drivers/infiniband/hw/i40iw/i40iw_hw.c             |  35 ++
 drivers/infiniband/hw/i40iw/i40iw_main.c           |   2 -
 drivers/infiniband/hw/i40iw/i40iw_puda.c           |   8 +-
 drivers/infiniband/hw/i40iw/i40iw_type.h           |  11 +
 drivers/infiniband/hw/i40iw/i40iw_utils.c          |  10 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  57 +-
 drivers/infiniband/hw/mlx4/ah.c                    |  10 +-
 drivers/infiniband/hw/mlx4/main.c                  | 102 ++--
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |  19 +-
 drivers/infiniband/hw/mlx4/mr.c                    |   3 +
 drivers/infiniband/hw/mlx4/qp.c                    |  27 +-
 drivers/infiniband/hw/mlx5/ah.c                    |  12 +
 drivers/infiniband/hw/mlx5/cmd.c                   | 104 ++++
 drivers/infiniband/hw/mlx5/cmd.h                   |   4 +
 drivers/infiniband/hw/mlx5/main.c                  | 572 +++++++++++++++++++--
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  71 ++-
 drivers/infiniband/hw/mlx5/mr.c                    | 257 ++++++---
 drivers/infiniband/hw/mlx5/qp.c                    | 156 ++++--
 drivers/infiniband/hw/mthca/mthca_provider.c       |   1 +
 drivers/infiniband/hw/nes/nes_verbs.c              |   1 +
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   8 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |  22 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   4 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  34 --
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |  12 -
 drivers/infiniband/hw/qedr/main.c                  |   9 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.c          |  16 +-
 drivers/infiniband/hw/qedr/verbs.c                 | 155 ++----
 drivers/infiniband/hw/qedr/verbs.h                 |   6 -
 drivers/infiniband/hw/qib/qib.h                    |   3 -
 drivers/infiniband/hw/qib/qib_diag.c               |   2 +-
 drivers/infiniband/hw/qib/qib_file_ops.c           |   8 +-
 drivers/infiniband/hw/qib/qib_iba7322.c            |  10 +
 drivers/infiniband/hw/qib/qib_init.c               |   4 +-
 drivers/infiniband/hw/qib/qib_sdma.c               |  24 -
 drivers/infiniband/hw/qib/qib_verbs.c              |   2 +-
 drivers/infiniband/hw/usnic/usnic_ib_main.c        |   1 +
 drivers/infiniband/hw/usnic/usnic_transport.c      |   4 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |  32 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |   2 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |   5 +-
 drivers/infiniband/sw/rdmavt/vt.h                  |   1 -
 drivers/infiniband/sw/rxe/rxe.c                    |   4 +-
 drivers/infiniband/sw/rxe/rxe.h                    |   6 +-
 drivers/infiniband/sw/rxe/rxe_av.c                 |   5 +-
 drivers/infiniband/sw/rxe/rxe_cq.c                 |  15 +-
 drivers/infiniband/sw/rxe/rxe_loc.h                |  20 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |  56 +-
 drivers/infiniband/sw/rxe/rxe_qp.c                 |  35 +-
 drivers/infiniband/sw/rxe/rxe_queue.c              |  24 +-
 drivers/infiniband/sw/rxe/rxe_queue.h              |   5 +-
 drivers/infiniband/sw/rxe/rxe_recv.c               |  16 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |  15 +-
 drivers/infiniband/sw/rxe/rxe_srq.c                |  44 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              | 101 ++--
 drivers/infiniband/sw/rxe/rxe_verbs.h              |   2 -
 drivers/infiniband/ulp/ipoib/ipoib.h               |   5 -
 drivers/infiniband/ulp/ipoib/ipoib_ib.c            |   2 +-
 drivers/infiniband/ulp/srp/ib_srp.c                | 181 +++----
 drivers/infiniband/ulp/srpt/ib_srpt.c              | 396 +++++++++++---
 drivers/infiniband/ulp/srpt/ib_srpt.h              |   8 +-
 drivers/net/ethernet/mellanox/mlx4/fw.c            |   1 +
 drivers/net/ethernet/mellanox/mlx4/main.c          |   1 +
 .../net/ethernet/mellanox/mlx5/core/en_common.c    |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  21 +-
 .../net/ethernet/mellanox/mlx5/core/fpga/conn.c    |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/fw.c       |   6 +
 drivers/net/ethernet/mellanox/mlx5/core/rl.c       |  63 ++-
 include/linux/mlx4/device.h                        |   4 -
 include/linux/mlx5/device.h                        |  12 +-
 include/linux/mlx5/driver.h                        |  15 +-
 include/linux/mlx5/fs_helpers.h                    |   8 +
 include/linux/mlx5/mlx5_ifc.h                      | 102 +++-
 include/rdma/ib_addr.h                             |   9 -
 include/rdma/ib_cache.h                            |  29 --
 include/rdma/ib_sa.h                               |  13 +
 include/rdma/ib_verbs.h                            | 212 ++++++--
 include/rdma/rdma_cm.h                             |  44 +-
 include/rdma/rdma_vt.h                             |   2 +-
 include/rdma/restrack.h                            |  26 +-
 include/rdma/uverbs_ioctl.h                        | 153 +++++-
 include/rdma/uverbs_named_ioctl.h                  |  90 ++++
 include/rdma/uverbs_std_types.h                    |  34 +-
 include/uapi/rdma/bnxt_re-abi.h                    |  21 +-
 include/uapi/rdma/cxgb3-abi.h                      |  17 +-
 include/uapi/rdma/cxgb4-abi.h                      |  29 +-
 include/uapi/rdma/hfi/hfi1_ioctl.h                 |  32 +-
 include/uapi/rdma/hfi/hfi1_user.h                  |  10 +-
 include/uapi/rdma/hns-abi.h                        |  22 +-
 .../uapi/rdma/i40iw-abi.h                          |  16 +-
 include/uapi/rdma/ib_user_cm.h                     |  48 +-
 include/uapi/rdma/ib_user_ioctl_cmds.h             | 134 +++++
 include/uapi/rdma/ib_user_ioctl_verbs.h            |  96 ++--
 include/uapi/rdma/ib_user_mad.h                    |   4 +-
 include/uapi/rdma/ib_user_verbs.h                  | 195 ++++---
 include/uapi/rdma/mlx4-abi.h                       |  52 +-
 include/uapi/rdma/mlx5-abi.h                       |  72 ++-
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |  48 ++
 include/uapi/rdma/mlx5_user_ioctl_verbs.h          |  43 ++
 include/uapi/rdma/mthca-abi.h                      |  10 +-
 include/uapi/rdma/nes-abi.h                        |   6 +-
 include/uapi/rdma/ocrdma-abi.h                     |  36 +-
 include/uapi/rdma/qedr-abi.h                       |  20 +-
 include/uapi/rdma/rdma_netlink.h                   |  51 ++
 include/uapi/rdma/rdma_user_cm.h                   |  49 +-
 include/uapi/rdma/rdma_user_ioctl.h                |  38 +-
 include/uapi/rdma/rdma_user_ioctl_cmds.h           |  99 ++++
 include/uapi/rdma/rdma_user_rxe.h                  |  58 ++-
 include/uapi/rdma/vmw_pvrdma-abi.h                 |  49 +-
 175 files changed, 6672 insertions(+), 2915 deletions(-)
 create mode 100644 drivers/infiniband/core/cma_priv.h
 create mode 100644 drivers/infiniband/core/uverbs_std_types_cq.c
 create mode 100644 drivers/infiniband/core/uverbs_std_types_dm.c
 create mode 100644 drivers/infiniband/core/uverbs_std_types_flow_action.c
 create mode 100644 drivers/infiniband/core/uverbs_std_types_mr.c
 delete mode 100644 drivers/infiniband/hw/cxgb3/cxio_dbg.c
 create mode 100644 drivers/infiniband/hw/hns/hns_roce_db.c
 create mode 100644 include/rdma/uverbs_named_ioctl.h
 rename drivers/infiniband/hw/i40iw/i40iw_ucontext.h => include/uapi/rdma/i40iw-abi.h (90%)
 create mode 100644 include/uapi/rdma/ib_user_ioctl_cmds.h
 create mode 100644 include/uapi/rdma/mlx5_user_ioctl_cmds.h
 create mode 100644 include/uapi/rdma/mlx5_user_ioctl_verbs.h
 create mode 100644 include/uapi/rdma/rdma_user_ioctl_cmds.h

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-03-29 19:17 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-03-29 19:17 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

Hi Linus,

Fifth pull request for -rc.

It has been fairly silent lately on our -rc front. Big queue of patches on the
mailing list going to for-next though.

The following changes since commit e8980d67d6017c8eee8f9c35f782c4bd68e004c9:

  RDMA/ucma: Ensure that CM_ID exists prior to access it (2018-03-20 11:07:21 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 84652aefb347297aa08e91e283adf7b18f77c2d5:

  RDMA/ucma: Introduce safer rdma_addr_size() variants (2018-03-28 16:13:36 -0600)

----------------------------------------------------------------
Fifth pull request for 4.16-rc

Bug fixes:
- qedr driver bugfixes causing application hangs, wrong uapi errnos, and a
  race condition
- 3 syzkaller found bugfixes in the ucma uapi

Regression fixes for things introduced in 4.16:
- Crash on error introduced in mlx5 UMR flow
- Crash on module unload/etc introduced by bad interaction of restrack
  and mlx5 patches this cycle
- Typo in a two line syzkaller bugfix causing a bad regression
- Coverity report of nonsense code in hns driver

----------------------------------------------------------------
Chien Tin Tung (1):
      RDMA/ucma: Correct option size check using optlen

Colin Ian King (1):
      RDMA/hns: ensure for-loop actually iterates and free's buffers

Jason Gunthorpe (1):
      RDMA/rdma_cm: Fix use after free race with process_one_req

Kalderon, Michal (3):
      RDMA/qedr: fix QP's ack timeout configuration
      RDMA/qedr: Fix rc initialization on CNQ allocation failure
      RDMA/qedr: Fix QP state initialization race

Leon Romanovsky (3):
      RDMA/restrack: Move restrack_clean to be symmetrical to restrack_init
      RDMA/ucma: Check that device is connected prior to access it
      RDMA/ucma: Check that device exists prior to accessing it

Mark Bloch (1):
      IB/mlx5: Don't clean uninitialized UMR resources

Roland Dreier (1):
      RDMA/ucma: Introduce safer rdma_addr_size() variants

 drivers/infiniband/core/addr.c             | 25 ++++++++++++++++
 drivers/infiniband/core/device.c           |  3 +-
 drivers/infiniband/core/ucma.c             | 47 +++++++++++++++++-------------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c |  2 +-
 drivers/infiniband/hw/mlx5/main.c          | 12 ++++++--
 drivers/infiniband/hw/mlx5/mr.c            |  3 ++
 drivers/infiniband/hw/qedr/main.c          |  3 +-
 drivers/infiniband/hw/qedr/verbs.c         | 45 +++++++++++++++++++---------
 include/rdma/ib_addr.h                     |  2 ++
 9 files changed, 102 insertions(+), 40 deletions(-)

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-03-20 23:17 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-03-20 23:17 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2887 bytes --]

Hi Linus,

Fourth pull request for -rc.

Not much exciting here, almost entirely syzkaller fixes. This is going to
be on ongoing theme for some time, I think. Both Google and Mellanox are now
running syzkaller on different parts of the user API.

The following changes since commit 28e9091e3119933c38933cb8fc48d5618eb784c8:

  RDMA/mlx5: Fix integer overflow while resizing CQ (2018-03-09 18:10:48 -0500)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to e8980d67d6017c8eee8f9c35f782c4bd68e004c9:

  RDMA/ucma: Ensure that CM_ID exists prior to access it (2018-03-20 11:07:21 -0600)

----------------------------------------------------------------
Fourth pull request for 4.16-rc

- Many bug fixes related to syzkaller from Leon Romanovsky.
  These are still for the mlx driver and ucma interface.
- Fix a situation with port reuse for iWarp, discovered during scale-up
  testing
- Bug fixes for the profile and restrack patches accepted during this merge
  window
- Compile warning cleanups from Arnd, this is apparently the last warning
  to make 32 bit builds quite.

----------------------------------------------------------------
Arnd Bergmann (2):
      infiniband: qplib_fp: fix pointer cast
      infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks

Boris Pismenny (2):
      IB/mlx5: Fix out-of-bounds read in create_raw_packet_qp_rq
      IB/mlx5: Fix integer overflows in mlx5_ib_create_srq

Leon Romanovsky (7):
      RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory
      RDMA/ucma: Fix access to non-initialized CM_ID object
      RDMA/ucma: Don't allow join attempts for unsupported AF family
      RDMA/ucma: Check AF family prior resolving address
      RDMA/ucma: Fix use-after-free access in ucma_close
      RDMA/verbs: Remove restrack entry from XRCD structure
      RDMA/ucma: Ensure that CM_ID exists prior to access it

Mark Bloch (1):
      IB/mlx5: Fix cleanup order on unload

Tatyana Nikolova (1):
      RDMA/core: Do not use invalid destination in determining port reuse

 drivers/infiniband/core/cma.c            | 15 ++++++++-----
 drivers/infiniband/core/ucma.c           | 36 +++++++++++++++++++++++---------
 drivers/infiniband/hw/bnxt_re/bnxt_re.h  |  4 ++--
 drivers/infiniband/hw/bnxt_re/ib_verbs.c |  2 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c |  4 ++--
 drivers/infiniband/hw/mlx5/main.c        | 21 +++++++++++--------
 drivers/infiniband/hw/mlx5/mlx5_ib.h     |  3 ++-
 drivers/infiniband/hw/mlx5/mr.c          | 12 +++++++----
 drivers/infiniband/hw/mlx5/qp.c          | 23 +++++++++++++-------
 drivers/infiniband/hw/mlx5/srq.c         | 15 +++++++------
 include/linux/mlx5/driver.h              |  4 ++--
 include/rdma/ib_verbs.h                  |  4 ----
 12 files changed, 90 insertions(+), 53 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
       [not found]             ` <CA+55aFxySLoCHcmZgx2PiF6jEazVOSy=2idccRsWqOzmyK2gaw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2018-02-01 20:33               ` Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2018-02-01 20:33 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma-u79uwXL29TY76Z2rM5mHXA

On Thu, Feb 01, 2018 at 11:12:43AM -0800, Linus Torvalds wrote:

> For pure testing of temporary kernels that aren't actually in any way
> upstream anyway, is there any reason why you can't just have a
> separate kernel with the merges in place, but not make them part of
> your development tree?

Okay, thanks, I appreciate the clarity here.

We can work something like this into our process, a temporary throw
away branch is certainly easy enough to create.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
       [not found]         ` <20180131210457.GE23352-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2018-02-01 19:12           ` Linus Torvalds
       [not found]             ` <CA+55aFxySLoCHcmZgx2PiF6jEazVOSy=2idccRsWqOzmyK2gaw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2018-02-01 19:12 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma-u79uwXL29TY76Z2rM5mHXA

On Wed, Jan 31, 2018 at 1:04 PM, Jason Gunthorpe <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote:
>
> On the topic of back merges, can you give some guidance?
>
> With some success, we've encouraged all the driver vendors to test -rc
> kernels and test our RDMA for-next internally during the entire -rc
> cycle. Most of the testers are taking RDMA for-next and merging it
> with latest -rcX then testing the result.
>
> Due to the conflict above our tree was left with complicated merge
> conflicts for about 3-4 weeks, and some of the testers have had pain
> due to this.
>
> Would back merging -rcX ealier, with a similar but better merge
> commit, be an acceptable practice?

I'd hesitate to say "sure" in general.

For pure testing of temporary kernels that aren't actually in any way
upstream anyway, is there any reason why you can't just have a
separate kernel with the merges in place, but not make them part of
your development tree? Think of how "linux-next" works on a big scale:
there's tons of random merges there exactly so that people can test
the end result, but those merges are understood to be temporary and
not part of the development trees themselves.

So back-merges are not necessarily evil, and they _can_ be done well.
But I don't actually see your case as being a reason for them in
general.

                Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
       [not found]     ` <CA+55aFxmnW-iu1Na3QC8Ci8Q_Qdfn2Ak_9wDB6+A564R=Xn9Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2018-01-31 21:04       ` Jason Gunthorpe
       [not found]         ` <20180131210457.GE23352-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-01-31 21:04 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma-u79uwXL29TY76Z2rM5mHXA

On Wed, Jan 31, 2018 at 12:11:24PM -0800, Linus Torvalds wrote:
> On Wed, Jan 31, 2018 at 9:47 AM, Jason Gunthorpe <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote:
> >
> > Since the conflict with v4.15 involves some code motion and is not so
> > trivial, so I have included a merge to tag v4.15 as the top commit in
> > this PR that has the resolution reviewed by the patch authors and
> > tested in linux-next. The tag 'for-linus-unmerged' is available
> > without this merge if you desire.
> 
> Thanks, this was well done. A thoughtful merge with explanation for
> why the conflict happened and why back-merge was done, and taking a
> sane merge point (v4.15 rather than some random daily point).

Thanks Linus, it is good to know I've understood your past remarks
properly!

On the topic of back merges, can you give some guidance?

With some success, we've encouraged all the driver vendors to test -rc
kernels and test our RDMA for-next internally during the entire -rc
cycle. Most of the testers are taking RDMA for-next and merging it
with latest -rcX then testing the result.

Due to the conflict above our tree was left with complicated merge
conflicts for about 3-4 weeks, and some of the testers have had pain
due to this.

Would back merging -rcX ealier, with a similar but better merge
commit, be an acceptable practice?

I'm unsure since we'd be doing this to support testers/users and not
as a development requirement.

In this case we'd send you a PR with the back merge for conflict
resolution well down the commit list.

Thanks,
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [GIT PULL] Please pull RDMA subsystem changes
       [not found] ` <20180131174735.GA18568-uk2M96/98Pc@public.gmane.org>
@ 2018-01-31 20:11   ` Linus Torvalds
       [not found]     ` <CA+55aFxmnW-iu1Na3QC8Ci8Q_Qdfn2Ak_9wDB6+A564R=Xn9Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 77+ messages in thread
From: Linus Torvalds @ 2018-01-31 20:11 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma-u79uwXL29TY76Z2rM5mHXA

On Wed, Jan 31, 2018 at 9:47 AM, Jason Gunthorpe <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote:
>
> Since the conflict with v4.15 involves some code motion and is not so
> trivial, so I have included a merge to tag v4.15 as the top commit in
> this PR that has the resolution reviewed by the patch authors and
> tested in linux-next. The tag 'for-linus-unmerged' is available
> without this merge if you desire.

Thanks, this was well done. A thoughtful merge with explanation for
why the conflict happened and why back-merge was done, and taking a
sane merge point (v4.15 rather than some random daily point).

Maybe the back-merge commit itself could have had a slightly more
complete merge message (the kind you had in the pull request here),
but that's a small nit.

So I thought I'd send out a "good job" email just as a contrast to me
having to sometimes complain about back-merges.

               Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-01-31 17:47 Jason Gunthorpe
       [not found] ` <20180131174735.GA18568-uk2M96/98Pc@public.gmane.org>
  0 siblings, 1 reply; 77+ messages in thread
From: Jason Gunthorpe @ 2018-01-31 17:47 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 31754 bytes --]

Hi Linus,

The is the first pull request for the merge window. We are aware of
another 20-30 patches that didn't make the cutoff and are various
kinds of fixes and code quality improvements. Due to this we are
anticipating a 2nd pull request next week.

This cycle had two conflicts between the RDMA tree and v4.15 due to
netdev and RDMA patches that went into the -rc cycle. I checked with
the Mellanox teams involved and they confirm they were co-ordinated
about this and felt the -rc patches needed to go ahead. There were
also two conflicts between RDMA -rc patches and RDMA -next patches
that were resolved by applying for-next patches overtop of RDMA -rc
and merging into RDMA -next.

Since the conflict with v4.15 involves some code motion and is not so
trivial, so I have included a merge to tag v4.15 as the top commit in
this PR that has the resolution reviewed by the patch authors and
tested in linux-next. The tag 'for-linus-unmerged' is available
without this merge if you desire.

Overall this cycle did not have any major excitement, and did not
require any shared branch with netdev. Lots of driver updates,
particularly of the scale-up and performance variety. The largest body
of core work was Parav's patches fixing and restructing some of the
core code to make way for future RDMA containerization.

There is one commit out of our tree:
 lib/kobject.c                                      |    2 +
That was Ack'd by GKH

Regards,
Jason

The following changes since commit d8a5b80568a9cb66810e75b182018e9edb68e8ff:

  Linux 4.15 (2018-01-28 13:20:33 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to e7996a9a77fc669387da43ff4823b91cc4872bd0:

  Merge tag v4.15 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (2018-01-30 09:30:00 -0700)

----------------------------------------------------------------
First merge window pull request for 4.16

- Misc small driver fixups to
  bnxt_re/hfi1/qib/hns/ocrdma/rdmavt/vmw_pvrdma/nes
- Several major feature adds to bnxt_re driver: SRIOV VF RoCE support,
  HugePages support, extended hardware stats support, and SRQ support
- A notable number of fixes to the i40iw driver from debugging scale up
  testing
- More work to enable the new hip08 chip in the hns driver
- Misc small ULP fixups to srp/srpt//ipoib
- Preparation for srp initiator and target to support the RDMA-CM
  protocol for connections
- Add RDMA-CM support to srp initiator, srp target is still a WIP
- Fixes for a couple of places where ipoib could spam the dmesg log
- Fix encode/decode of FDR/EDR data rates in the core
- Many patches from Parav with ongoing work to clean up inconsistencies
  and bugs in RoCE support around the rdma_cm
- mlx5 driver support for the userspace features 'thread domain', 'wallclock
  timestamps' and 'DV Direct Connected transport'. Support for the firmware
  dual port rocee capability
- Core support for more than 32 rdma devices in the char dev allocation
- kernel doc updates from Randy Dunlap
- New netlink uAPI for inspecting RDMA objects similar in spirit to 'ss'
- One minor change to the kobject code acked by GKH

----------------------------------------------------------------
Alex Estrin (1):
      IB/ipoib: Fix for notify send CQ failure messages

Amrani, Ram (1):
      MAINTAINERS: Remove Ram Amrani from Q-Logic RDMA driver

Andrew F. Davis (1):
      IB/ocrdma: Remove unneeded conversions to bool

Andy Shevchenko (1):
      IB/srp: replace custom implementation of hex2bin()

Anton Vasilyev (1):
      RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS

Arnd Bergmann (4):
      i40iw: remove unused 'timeval' struct member
      nes: remove unused 'timeval' struct member
      IB/mlx5: revisit -Wmaybe-uninitialized warning
      infiniband: cxgb4: use ktime_get for timestamps

Artemy Kovalyov (1):
      IB/umem: Fix use of npages/nmap fields

Arvind Yadav (1):
      RDMA/bnxt_re: Remove redundant bnxt_qplib_disable_nq() call

Bart Van Assche (35):
      IB/core: Fix two kernel warnings triggered by rxe registration
      IB/srpt: Remove an unused structure member
      IB/srpt: Fix kernel-doc warnings in ib_srpt.c
      IB/srpt: Document all structure members in ib_srpt.h
      IB/srpt: Rename a local variable, a member variable and a constant
      IB/srpt: Reduce the severity level of a log message
      IB/srpt: Verify port numbers in srpt_event_handler()
      IB/srpt: Use the IPv6 format for GIDs in log messages
      IB/srpt: Convert a warning into a debug message
      IB/srpt: Reduce frequency of receive failure messages
      IB/srpt: Introduce srpt_format_guid()
      IB/srpt: Inline srpt_get_cmd_state()
      IB/srpt: Micro-optimize I/O context state manipulation
      RDMA/rxe: Fix a race condition related to the QP error state
      RDMA/rxe: Fix a race condition in rxe_requester()
      RDMA/rxe: Fix rxe_qp_cleanup()
      IB/srp: Use kstrtoull() instead of simple_strtoull()
      IB/srp: Improve path record query error message
      IB/srp: Refactor srp_send_req()
      IB/srpt: Make it safe to use RCU for srpt_device.rch_list
      IB/srpt: Rework srpt_disconnect_ch_sync()
      IB/srpt: Add P_Key support
      IB/srpt: One target per port
      IB/srpt: Use the source GID as session name
      IB/srpt: Rework multi-channel support
      IB/srpt: Simplify srpt_close_session()
      IB/srpt: Log all zero-length writes and completions
      IB/srpt: Fix login-related race conditions
      IB/srpt: Fix a race condition related to wait list processing
      IB/srpt: Don't allow reordering of commands on wait list
      IB/srpt: Preparations for adding RDMA/CM support
      IB/srpt: Move the code for parsing struct ib_cm_req_event_param
      kobject: Export kobj_ns_grab_current() and kobj_ns_drop()
      IB/srp: Add RDMA/CM support
      IB/srp: Add target_can_queue login parameter

Bharat Potnuri (2):
      iser-target: avoid reinitializing rdma contexts for isert commands
      iw_cxgb4: Change error/warn prints to pr_debug

Bodong Wang (1):
      IB/core: Fix ib_wc structure size to remain in 64 bytes boundary

Bryan Tan (5):
      RDMA/vmw_pvrdma: Add UAR SRQ macros in ABI header file
      RDMA/vmw_pvrdma: Clarify QP and CQ is_kernel logic
      RDMA/vmw_pvrdma: Use more specific sizeof in kcalloc
      RDMA/vmw_pvrdma: Use refcount_t instead of atomic_t
      RDMA/vmw_pvrdma: Remove usage of BIT() from UAPI header

Chien Tin Tung (1):
      i40iw: Use sqsize to initialize cqp_requests elements

Colin Ian King (3):
      IB/qib: remove redundant setting of any in for-loop
      iw_cxgb4: make pointer reg_workq static
      IB/mlx5: remove redundant assignment of mdev

Corentin Labbe (2):
      IB/mthca: remove mthca_user.h
      IB/qib: remove qib_keys.c

Dan Carpenter (2):
      RDMA/cxgb4: Add a sanity check in process_work()
      IB/mlx4: Potential buffer overflow in _mlx4_set_path()

Daniel Jurgens (14):
      IB/cm: Add debug prints to ib_cm
      net/mlx5: Fix race for multiple RoCE enable
      net/mlx5: Set software owner ID during init HCA
      IB/core: Change roce_rescan_device to return void
      IB/mlx5: Reduce the use of num_port capability
      IB/mlx5: Make netdev notifications multiport capable
      {net, IB}/mlx5: Manage port association for multiport RoCE
      IB/mlx5: Move IB event processing onto a workqueue
      IB/mlx5: Implement dual port functionality in query routines
      IB/mlx5: Update counter implementation for dual port RoCE
      {net, IB}/mlx5: Change set_roce_gid to take a port number
      IB/mlx5: Route MADs for dual port RoCE
      IB/mlx5: Don't advertise RAW QP support in dual port mode
      net/mlx5: Set num_vhca_ports capability

Davidlohr Bueso (1):
      IB/mthca: Fix gup usage in mthca_map_user_db()

Dennis Dalessandro (1):
      rdma: Update maintainer contact for Intel RDMA drivers

Devesh Sharma (1):
      RDMA/bnxt_re: Add SRQ support for Broadcom adapters

Don Hiatt (4):
      IB/hfi1: Mask the path bits with the LMC for 16B RC Acks
      IB/CM: Change sgid to IB GID when handling CM request
      IB/core: Use rdma_cap_opa_mad to check for OPA
      IB/hfi1: Change slid arg in ingress_pkey_table_fail to 32bit

Doug Ledford (2):
      Merge branch 'bart-srpt-for-next' into k.o/wip/dl-for-next
      MAINTAINERS: Fix the location of the rdma git repo

Erez Alfasi (1):
      IB/mlx4: Remove unused ibpd parameter

Erez Shitrit (2):
      IB/ipoib: Avoid memory leak if the SA returns a different DGID
      IB/ipoib: Update pathrec field if not valid record

Feras Daoud (2):
      net/mlx5e: Add clock info page to mlx5 core devices
      IB/mlx5: Mmap the HCA's clock info to user-space

Geert Uytterhoeven (2):
      i40w: Remove garbage at end of INFINIBAND_I40IW Kconfig section
      RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo()

Gomonovych, Vasyl (1):
      IB/core: Use PTR_ERR_OR_ZERO()

Guy Levi (1):
      IB/mlx4: Add support to RSS hash for inner headers

Hans Westgaard Ry (1):
      RDMA/core: Add encode/decode FDR/EDR rates

Henry Orosco (1):
      i40iw: Change accelerated flag to bool

Himanshu Jha (5):
      IB/ocrdma: Use zeroing memory allocator than allocator/memset
      RDMA/vmw_pvrdma: Use zeroing memory allocator than allocator/memset
      RDMA/qedr: Use zeroing memory allocator than allocator/memset
      RDMA/bnxt_re: Use zeroing memory allocator than allocator/memset
      IB/mthca: Use zeroing memory allocator than allocator/memset

Huy Nguyen (2):
      IB/core: Remove the locking for character device bitmaps
      IB/core: Increase number of char device minors

Jack Morgenstein (2):
      IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports
      IB/umad: Fix use of unprotected device pointer

Jan Sokolowski (1):
      IB/hfi1: Use 4096 for default active MTU in query_qp

Jason Gunthorpe (8):
      Merge branch 'from-rc' of git://git.kernel.org/.../rdma/rdma.git
      RDMA: Mark imm_data as be32 in the verbs uapi header
      RDMA/hns: Fix endian problems around imm_data and rkey
      RDMA/qedr: Fix endian problems around imm_data
      RDMA/uverbs: Use an unambiguous errno for method not supported
      IB/rxe: Change RDMA_RXE kconfig to use select
      RDMA: Move enum ib_cq_creation_flags to uapi headers
      Merge tag v4.15 of git://git.kernel.org/.../torvalds/linux-2.6.git

Jia-Ju Bai (1):
      i40iw: Replace mdelay with msleep in i40iw_wait_pe_ready

Joe Perches (1):
      IB/qib: Cleanup qib_set_part_key() with direct returns

Jonathan Toppins (1):
      bnxt_re: report RoCE device support at info level

Kaike Wan (2):
      IB/rdmavt: No need to cancel RNRNAK retry timer when it is running
      IB/rdmavt: Add trace for RNRNAK timer

Kalderon, Michal (1):
      RDMA/qedr: lower print level of flushed CQEs

Leon Romanovsky (17):
      RDMA/rxe: Remove useless EXPORT_SYMBOL
      RDMA/netlink: Simplify code of autoload modules
      RDMA/core: Replace open-coded variant of put_device
      RDMA/nldev: Refactor setting the nldev handle to a common function
      RDMA/cma: Mark end of CMA ID messages
      RDMA/mlx5: Remove redundant allocation warning print
      RDMA/srpt: Fix RCU debug build error
      RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure
      RDMA/cm: Fix access to uninitialized variable
      RDMA/core: Use the MODNAME instead of the function name for pd callers
      RDMA/core: Save kernel caller name when creating PD and CQ objects
      RDMA/restrack: Add general infrastructure to track RDMA resources
      RDMA/core: Add resource tracking for create and destroy QPs
      RDMA/core: Add resource tracking for create and destroy CQs
      RDMA/core: Add resource tracking for create and destroy PDs
      RDMA/nldev: Provide global resource utilization
      RDMA/nldev: Provide detailed QP information

Majd Dibbiny (1):
      IB/core: Make sure that PSN does not overflow

Maor Gottlieb (1):
      IB/mlx5: Report inner RSS capability

Mark Bloch (6):
      IB/mlx5: Create profile infrastructure to add and remove stages
      IB/mlx5: Move RoCE/ETH initialization to the corresponding stage
      IB/mlx5: Move ODP initialization to the corresponding stage
      IB/mlx5: Move hardware counters initialization to the corresponding stage
      IB/mlx5: Move loopback initialization to the corresponding stage
      IB/mlx5: Move locks initialization to the corresponding stage

Markus Elfring (3):
      IB/iser: Delete an error message for a failed memory allocation in iser_send_data_out()
      IB/iser: Delete an unnecessary variable initialisation in iser_send_data_out()
      IB/iser: Combine substrings for three messages

Matan Barak (1):
      IB/core: Fix memory leak in cm_req_handler error flows

Max Gurtovoy (1):
      IB/core: postpone WR initialization during queue drain

Michael J. Ruhl (4):
      IB/hfi1: Add RQ/SRQ information to QP stats
      IB/{rdmavt, hfi1, qib}: Self determine driver name
      IB/{rdmavt, hfi1, qib}: Remove get_card_name() downcall
      IB/{hfi1, qib}: Fix a concurrency issue with device name in logging

Mike Marciniszyn (3):
      IB/qib: Fix comparison error with qperf compare/swap test
      IB/rdmavt: Use correct numa node for SRQ allocation
      IB/rdmavt: Allocate CQ memory on the correct node

Moni Shoua (6):
      net/mlx5: Add DCT command interface
      net/mlx5: Enable DC transport
      IB/core: Introduce driver QP type
      IB/mlx5: Handle type IB_QPT_DRIVER when creating a QP
      IB/mlx5: Add support for DC Initiator QP
      IB/mlx5: Add support for DC target QP

Mustafa Ismail (3):
      i40iw: Reinitialize add_sd_cnt
      i40iw: Remove setting of rem_addr.len
      i40iw: Free IEQ resources

Parav Pandit (44):
      IB/{core/cm}: Fix generating a return AH for RoCEE
      IB/core: Depend on IPv6 stack to resolve link local address for RoCEv2
      IB/core: Avoid exporting module internal function
      RDMA/cma: Use correct size when writing netlink stats
      RDMA/cma: Set default GID type as RoCE when resolving RoCE route
      RDMA/cma: Simplify netdev check
      RDMA/cma: Avoid setting path record type twice
      RDMA/cma: Introduce and use helper functions to init work
      IB/core: Avoid unnecessary type cast
      IB/core: Refactor to avoid unnecessary check on GID lookup miss
      IB/rxe: Avoid passing unused index pointer which is optional
      IB/core: Avoid exporting module internal ib_find_gid_by_filter()
      RDMA/core: Avoid redundant memcpy in rdma_addr_find_l2_eth_by_grh
      IB/core: Removed unused function
      RDMA/{core, cma}: Simplify rdma_translate_ip
      RDMA/core: Avoid copying ifindex twice
      IB/{core, ipoib}: Simplify ib_find_gid to search only for IB link layer
      IB/{cm, umad}: Handle av init error
      IB/cm: Handle address handle attribute init error
      IB/cm: Fix sleeping while spin lock is held
      IB/{core, cm, cma, ipoib}: Rename ib_init_ah_from_path to ib_init_ah_attr_from_path
      IB/{core, umad, cm}: Rename ib_init_ah_from_wc to ib_init_ah_attr_from_wc
      IB/cm: Refactor to avoid setting path record software only fields
      IB/mlx5: Change debugfs to have per port contents
      RDMA/cma: Use the right net namespace for the rdma_cm_id
      RDMA/cma: Provide a function to set RoCE path record L2 parameters
      RDMA/{cma, ucma}: Simplify and rename rdma_set_ib_paths
      RDMA/cma: Fix rdma_cm raw IB path setting for RoCE
      RDMA/cma: Fix rdma_cm path querying for RoCE
      IB/core: Perform modify QP on real one
      IB/core: Limit DMAC resolution to userspace QPs
      IB/core: Attempt DMAC resolution for only RoCE
      IB/core: Limit DMAC resolution to RoCE Connected QPs
      RDMA/core: Clarify rdma_ah_find_type
      RDMA/cma: Introduce API to read GIDs for multiple transports
      RDMA/ucma: Use rdma cm API to query GID
      net/rds: Use rdma_read_gids to read connection GIDs
      RDMA/core: Simplify rdma_addr_get_sgid() to not support RoCE
      RDMA/cma: Check existence of netdevice during port validation
      RDMA/cma: Refactor to access multiple fields of rdma_dev_addr
      RDMA/cma: Update cma_validate_port to honor net namespace
      RDMA/cma: Update RoCE multicast routines to use net namespace
      IB/core: Avoid SGID attributes query while converting GID from OPA to IB
      RDMA/cma: Use existing netif_is_bond_master function

Pravin Shedge (1):
      drivers: infiniband: remove duplicate includes

Randy Dunlap (5):
      infiniband: drop unknown function from core_priv.h
      infiniband: fix core/verbs.c kernel-doc notation
      infiniband: fix core/fmr_pool.c kernel-doc notation
      infiniband: fix ulp/opa_vnic/opa_vnic_vema.c kernel-doc notation
      infiniband: fix sw/rdmavt/* kernel-doc notation

Sagi Grimberg (1):
      IB/cq: Don't force IB_POLL_DIRECT poll context for ib_process_cq_direct

Sebastian Sanchez (1):
      IB/hfi1: Fix infinite loop in 8051 command error path

Selvin Xavier (3):
      RDMA/bnxt_re: Enable RoCE on virtual functions
      RDMA/bnxt_re: Add support for query firmware version
      RDMA/bnxt_re: expose detailed stats retrieved from HW

Shiraz Saleem (10):
      nes: Change accelerated flag to bool
      i40iw: Set MAX_IRD_SIZE to 64
      i40iw: Use utility function roundup_pow_of_two()
      i40iw: Correct Q1/XF object count equation
      i40iw: Add notifier for network device events
      i40iw: Selectively teardown QPs on IP addr change event
      i40iw: Fix sequence number for the first partial FPDU
      i40iw: Ignore LLP_DOUBT_REACHABILITY AE
      i40iw: Remove extra call to i40iw_est_sd()
      i40iw: Zero-out consumer key on allocate stag for FMR

Sindhu Devale (1):
      i40iw: Remove limit on re-posting AEQ entries to HW

Somnath Kotur (1):
      RDMA/bnxt_re: Add support for MRs with Huge pages

Tatyana Nikolova (2):
      i40iw: Validate correct IRD/ORD connection parameters
      i40iw: Fix the connection ORD value for loopback

Venkata Sandeep Dhanalakota (1):
      IB/SA: Check dlid before SA agent queries for ClassPortInfo

Xiongfeng Wang (1):
      IB/cma: use strlcpy() instead of strncpy()

Yishai Hadas (3):
      IB/mlx5: Extend UAR stuff to support dynamic allocation
      IB/mlx5: Expose dynamic mmap allocation
      IB/mlx5: Enable QP creation with a given blue flame index

Yixian Liu (4):
      RDMA/hns: Refactor eq code for hip06
      RDMA/hns: Add eq support of hip08
      RDMA/hns: Add detailed comments for mb() call
      RDMA/hns: Fix QP state judgement before sending work requests

Yuval Shaia (3):
      RDMA/vmw_pvrdma: Do not re-calculate npages
      IB/ipoib: Replace printk with pr_warn
      IB/ipoib: Warn when one port fails to initialize

Zhu Yanjun (2):
      IB/rxe: add the static type to the variable
      IB/rxe: remove unnecessary skb_clone in xmit

oulijun (12):
      RDMA/hns: Add rq inline data support for hip08 RoCE
      RDMA/hns: Update the usage of sr_max and rr_max field
      RDMA/hns: Set access flags of hip08 RoCE
      RDMA/hns: Filter for zero length of sge in hip08 kernel mode
      RDMA/hns: Assign dest_qp when deregistering mr
      RDMA/hns: Assign the correct value for tx_cqn
      RDMA/hns: Create gsi qp in hip08
      RDMA/hns: Add gsi qp support for modifying qp in hip08
      RDMA/hns: Fill sq wqe context of ud type in hip08
      RDMA/hns: Assign zero for pkey_index of wc in hip08
      RDMA/hns: Update the verbs of polling for completion
      RDMA/hns: Set the guid for hip08 RoCE device

weiyongjun (A) (1):
      RDMA/hns: Remove unnecessary platform_get_resource() error check

 MAINTAINERS                                        |    7 +-
 drivers/infiniband/core/Makefile                   |    2 +-
 drivers/infiniband/core/addr.c                     |   65 +-
 drivers/infiniband/core/cache.c                    |   23 +-
 drivers/infiniband/core/cm.c                       |  227 ++-
 drivers/infiniband/core/cma.c                      |  252 ++-
 drivers/infiniband/core/cma_configfs.c             |    2 +-
 drivers/infiniband/core/core_priv.h                |   52 +-
 drivers/infiniband/core/cq.c                       |   39 +-
 drivers/infiniband/core/device.c                   |   42 +-
 drivers/infiniband/core/fmr_pool.c                 |   12 +-
 drivers/infiniband/core/iwpm_util.c                |    1 +
 drivers/infiniband/core/mad.c                      |    1 -
 drivers/infiniband/core/netlink.c                  |   10 +-
 drivers/infiniband/core/nldev.c                    |  394 ++++-
 drivers/infiniband/core/restrack.c                 |  164 ++
 drivers/infiniband/core/roce_gid_mgmt.c            |   13 +-
 drivers/infiniband/core/sa_query.c                 |   18 +-
 drivers/infiniband/core/security.c                 |   10 +-
 drivers/infiniband/core/sysfs.c                    |    1 -
 drivers/infiniband/core/ucm.c                      |   73 +-
 drivers/infiniband/core/ucma.c                     |   19 +-
 drivers/infiniband/core/umem.c                     |    2 +-
 drivers/infiniband/core/user_mad.c                 |  123 +-
 drivers/infiniband/core/uverbs_cmd.c               |   14 +-
 drivers/infiniband/core/uverbs_ioctl.c             |   19 +-
 drivers/infiniband/core/uverbs_main.c              |   95 +-
 drivers/infiniband/core/uverbs_std_types.c         |    3 +
 drivers/infiniband/core/verbs.c                    |  312 ++--
 drivers/infiniband/hw/bnxt_re/bnxt_re.h            |   43 +-
 drivers/infiniband/hw/bnxt_re/hw_counters.c        |  145 +-
 drivers/infiniband/hw/bnxt_re/hw_counters.h        |   39 +
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  404 ++++-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   20 +
 drivers/infiniband/hw/bnxt_re/main.c               |  251 ++-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           |  463 ++++-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |   78 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c         |    5 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h         |    7 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.c          |    9 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |  141 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h           |   91 +-
 drivers/infiniband/hw/bnxt_re/roce_hsi.h           |  127 +-
 drivers/infiniband/hw/cxgb4/cm.c                   |   27 +-
 drivers/infiniband/hw/cxgb4/device.c               |   36 +-
 drivers/infiniband/hw/cxgb4/ev.c                   |    2 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |    4 +-
 drivers/infiniband/hw/cxgb4/qp.c                   |    6 +-
 drivers/infiniband/hw/cxgb4/t4.h                   |    4 +-
 drivers/infiniband/hw/hfi1/chip.c                  |   87 +-
 drivers/infiniband/hw/hfi1/chip.h                  |    2 +-
 drivers/infiniband/hw/hfi1/driver.c                |   16 -
 drivers/infiniband/hw/hfi1/firmware.c              |   64 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |   25 +-
 drivers/infiniband/hw/hfi1/init.c                  |    2 +
 drivers/infiniband/hw/hfi1/mad.c                   |    6 +-
 drivers/infiniband/hw/hfi1/qp.c                    |   10 +-
 drivers/infiniband/hw/hfi1/rc.c                    |    8 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |    6 +-
 drivers/infiniband/hw/hns/Makefile                 |    2 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.c           |    1 +
 drivers/infiniband/hw/hns/hns_roce_cmd.h           |   10 +
 drivers/infiniband/hw/hns/hns_roce_common.h        |   11 +
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   19 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |  103 +-
 drivers/infiniband/hw/hns/hns_roce_eq.c            |  759 --------
 drivers/infiniband/hw/hns/hns_roce_eq.h            |  134 --
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |  758 +++++++-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |   44 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         | 1837 ++++++++++++++++++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |  283 ++-
 drivers/infiniband/hw/hns/hns_roce_main.c          |   16 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   72 +-
 drivers/infiniband/hw/i40iw/Kconfig                |    1 -
 drivers/infiniband/hw/i40iw/i40iw.h                |    3 +
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |   68 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.h             |    8 +-
 drivers/infiniband/hw/i40iw/i40iw_ctrl.c           |   25 +-
 drivers/infiniband/hw/i40iw/i40iw_d.h              |    1 +
 drivers/infiniband/hw/i40iw/i40iw_hw.c             |    3 +-
 drivers/infiniband/hw/i40iw/i40iw_main.c           |   13 +-
 drivers/infiniband/hw/i40iw/i40iw_puda.c           |    5 +-
 drivers/infiniband/hw/i40iw/i40iw_puda.h           |    1 +
 drivers/infiniband/hw/i40iw/i40iw_uk.c             |   18 +-
 drivers/infiniband/hw/i40iw/i40iw_user.h           |    3 +-
 drivers/infiniband/hw/i40iw/i40iw_utils.c          |   50 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |    5 +-
 drivers/infiniband/hw/mlx4/cq.c                    |    4 +-
 drivers/infiniband/hw/mlx4/main.c                  |   19 +-
 drivers/infiniband/hw/mlx4/qp.c                    |   20 +-
 drivers/infiniband/hw/mlx5/cong.c                  |   83 +-
 drivers/infiniband/hw/mlx5/cq.c                    |    2 +-
 drivers/infiniband/hw/mlx5/mad.c                   |   23 +-
 drivers/infiniband/hw/mlx5/main.c                  | 1411 +++++++++++----
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  111 +-
 drivers/infiniband/hw/mlx5/mr.c                    |    3 +
 drivers/infiniband/hw/mlx5/odp.c                   |    9 -
 drivers/infiniband/hw/mlx5/qp.c                    |  432 ++++-
 drivers/infiniband/hw/mthca/mthca_memfree.c        |    7 +-
 drivers/infiniband/hw/mthca/mthca_user.h           |  112 --
 drivers/infiniband/hw/nes/nes_cm.c                 |    2 +-
 drivers/infiniband/hw/nes/nes_cm.h                 |    3 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   19 +-
 drivers/infiniband/hw/ocrdma/ocrdma_stats.c        |    8 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   10 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   15 +-
 drivers/infiniband/hw/qib/qib.h                    |    8 +-
 drivers/infiniband/hw/qib/qib_driver.c             |   16 -
 drivers/infiniband/hw/qib/qib_eeprom.c             |    3 +-
 drivers/infiniband/hw/qib/qib_file_ops.c           |   68 +-
 drivers/infiniband/hw/qib/qib_init.c               |    2 +
 drivers/infiniband/hw/qib/qib_keys.c               |  235 ---
 drivers/infiniband/hw/qib/qib_rc.c                 |    6 +-
 drivers/infiniband/hw/qib/qib_verbs.c              |    2 -
 drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |    1 -
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |    1 -
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h          |    4 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   13 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   21 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |   15 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |   11 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |   15 +-
 drivers/infiniband/sw/rdmavt/mcast.c               |    4 +-
 drivers/infiniband/sw/rdmavt/mr.c                  |    2 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |   27 +-
 drivers/infiniband/sw/rdmavt/srq.c                 |   16 +-
 drivers/infiniband/sw/rdmavt/trace.h               |    4 +-
 drivers/infiniband/sw/rdmavt/trace_qp.h            |   42 +
 drivers/infiniband/sw/rdmavt/vt.c                  |   10 +-
 drivers/infiniband/sw/rdmavt/vt.h                  |    6 +-
 drivers/infiniband/sw/rxe/Kconfig                  |    4 +-
 drivers/infiniband/sw/rxe/rxe.c                    |    6 -
 drivers/infiniband/sw/rxe/rxe.h                    |    6 +-
 drivers/infiniband/sw/rxe/rxe_loc.h                |    1 -
 drivers/infiniband/sw/rxe/rxe_net.c                |   18 +-
 drivers/infiniband/sw/rxe/rxe_net.h                |    1 -
 drivers/infiniband/sw/rxe/rxe_qp.c                 |   12 +-
 drivers/infiniband/sw/rxe/rxe_recv.c               |    3 +-
 drivers/infiniband/sw/rxe/rxe_req.c                |    9 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |    5 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |    2 +
 drivers/infiniband/sw/rxe/rxe_verbs.h              |    3 +
 drivers/infiniband/ulp/ipoib/ipoib_cm.c            |   18 +-
 drivers/infiniband/ulp/ipoib/ipoib_ib.c            |    5 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |   98 +-
 drivers/infiniband/ulp/ipoib/ipoib_verbs.c         |    6 +-
 drivers/infiniband/ulp/iser/iser_initiator.c       |   16 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |    7 +
 drivers/infiniband/ulp/isert/ib_isert.h            |    1 +
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c    |    2 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |  795 +++++++--
 drivers/infiniband/ulp/srp/ib_srp.h                |   43 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |  962 ++++++----
 drivers/infiniband/ulp/srpt/ib_srpt.h              |  100 +-
 drivers/net/ethernet/mellanox/mlx4/qp.c            |    3 +
 drivers/net/ethernet/mellanox/mlx5/core/eq.c       |    9 +-
 .../net/ethernet/mellanox/mlx5/core/fpga/conn.c    |   11 +-
 drivers/net/ethernet/mellanox/mlx5/core/fw.c       |   10 +-
 .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c  |    2 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.c    |   55 +
 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c  |    5 +-
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   15 +-
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/qp.c       |  125 +-
 drivers/net/ethernet/mellanox/mlx5/core/vport.c    |   91 +-
 include/linux/mlx5/device.h                        |   16 +
 include/linux/mlx5/driver.h                        |   43 +-
 include/linux/mlx5/mlx5_ifc.h                      |   32 +-
 include/linux/mlx5/qp.h                            |   12 +
 include/linux/mlx5/vport.h                         |    4 +
 include/rdma/ib_addr.h                             |   38 +-
 include/rdma/ib_sa.h                               |   10 +-
 include/rdma/ib_verbs.h                            |   64 +-
 include/rdma/opa_addr.h                            |   16 +
 include/rdma/rdma_cm.h                             |   19 +
 include/rdma/rdma_cm_ib.h                          |    8 +-
 include/rdma/rdma_vt.h                             |   31 +-
 include/rdma/restrack.h                            |  157 ++
 include/scsi/srp.h                                 |   17 +
 include/uapi/rdma/bnxt_re-abi.h                    |    9 +
 include/uapi/rdma/ib_user_verbs.h                  |   11 +-
 include/uapi/rdma/mlx4-abi.h                       |    7 +-
 include/uapi/rdma/mlx5-abi.h                       |   53 +-
 include/uapi/rdma/rdma_netlink.h                   |   49 +
 include/uapi/rdma/vmw_pvrdma-abi.h                 |   12 +-
 lib/kobject.c                                      |    2 +
 net/rds/ib.c                                       |    6 +-
 187 files changed, 10240 insertions(+), 4028 deletions(-)
 create mode 100644 drivers/infiniband/core/restrack.c
 delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.c
 delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.h
 delete mode 100644 drivers/infiniband/hw/mthca/mthca_user.h
 delete mode 100644 drivers/infiniband/hw/qib/qib_keys.c
 create mode 100644 include/rdma/restrack.h

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2017-12-28 21:03 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2017-12-28 21:03 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA

Hi Linus,

This is the next batch of for-rc patches from RDMA. It includes the
fix for the ipoib regression I mentioned last time, and the result of
a fairly major debugging effort to get iser working reliably on cxgb4
hardware - it turns out the cxgb4 driver was not handling QP error
flushing properly causing iser to fail.

I was on the fence for the LAG counters bug fix at rc6. In the end
this appears to be a user space API issue, as data exposed to user
space is not correct under certain device configurations. I also
expect this patch will go to -stable.

The following changes since commit 9d98e19ba08f6aa33a4a1414f3dfe8440e67530c:

  IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (2017-12-13 10:31:57 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 45e6ae7ef21b907dacb18da62d5787d74a31d860:

  IB/mlx5: Fix mlx5_ib_alloc_mr error flow (2017-12-27 15:24:41 -0700)

----------------------------------------------------------------
Third pull request for 4.15-rc

- cxgb4 fix for an iser testing failure as debugged by Steve and Sagi.
  The problem was a driver bug in the handling of shutting down a QP.
- Various vmw_pvrdma fixes for bogus WARN_ON, missed resource free on error
  unwind and a use after free bug
- Improper congestion counter values on mlx5 when link aggregation is enabled
- ipoib lockdep regression introduced in this merge window
- hfi1 regression supporting the device in a VM introduced in a recent patch
- Typo that breaks future uAPI compatibility in the verbs core
- More SELinux related oops fixing
- Fix an oops during error unwind in mlx5

----------------------------------------------------------------
Alex Vesker (1):
      IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush

Bryan Tan (3):
      RDMA/vmw_pvrdma: Call ib_umem_release on destroy QP path
      RDMA/vmw_pvrdma: Use refcount_dec_and_test to avoid warning
      RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy

Majd Dibbiny (2):
      IB/mlx5: Fix congestion counters in LAG mode
      IB/mlx5: Serialize access to the VMA list

Michael J. Ruhl (1):
      IB/hfi: Only read capability registers if the capability exists

Moni Shoua (2):
      IB/uverbs: Fix command checking as part of ib_uverbs_ex_modify_qp()
      IB/core: Verify that QP is security enabled in create and destroy

Nitzan Carmi (1):
      IB/mlx5: Fix mlx5_ib_alloc_mr error flow

Steve Wise (3):
      iw_cxgb4: Only validate the MSN for successful completions
      iw_cxgb4: reflect the original WR opcode in drain cqes
      iw_cxgb4: when flushing, complete all wrs in a chain

 drivers/infiniband/core/security.c             |  3 ++
 drivers/infiniband/core/uverbs_cmd.c           |  4 +-
 drivers/infiniband/core/verbs.c                |  3 +-
 drivers/infiniband/hw/cxgb4/cq.c               | 13 ++---
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h         |  2 -
 drivers/infiniband/hw/cxgb4/qp.c               | 72 ++++++++++++++++++++++++--
 drivers/infiniband/hw/cxgb4/t4.h               |  6 +++
 drivers/infiniband/hw/hfi1/hfi.h               |  1 -
 drivers/infiniband/hw/hfi1/pcie.c              | 30 +++++------
 drivers/infiniband/hw/mlx5/cmd.c               | 11 ----
 drivers/infiniband/hw/mlx5/cmd.h               |  2 -
 drivers/infiniband/hw/mlx5/main.c              | 43 +++++----------
 drivers/infiniband/hw/mlx5/mlx5_ib.h           |  4 ++
 drivers/infiniband/hw/mlx5/mr.c                |  1 +
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h      |  6 +--
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c   |  7 +--
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 17 +++---
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c   | 14 +++--
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c  |  7 +--
 drivers/infiniband/ulp/ipoib/ipoib_ib.c        |  7 ++-
 drivers/net/ethernet/mellanox/mlx5/core/lag.c  | 56 ++++++++++++++++++++
 include/linux/mlx5/driver.h                    |  4 ++
 22 files changed, 208 insertions(+), 105 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 77+ messages in thread

* [GIT PULL] Please pull RDMA subsystem changes
@ 2017-12-16 17:12 Jason Gunthorpe
  0 siblings, 0 replies; 77+ messages in thread
From: Jason Gunthorpe @ 2017-12-16 17:12 UTC (permalink / raw)
  To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 2530 bytes --]

Hi Linus,

More fixes from testing done on the rc kernel, including more SELinux testing.
Looking forward, lockdep found regression today in ipoib which is still
being fixed.

The following changes since commit 315d160c5a4e034a576a13aa21e7235d5c9ec609:

  IB/core: Only enforce security for InfiniBand (2017-12-01 12:21:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 9d98e19ba08f6aa33a4a1414f3dfe8440e67530c:

  IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (2017-12-13 10:31:57 -0700)

----------------------------------------------------------------
Second pull request for 4.15-rc

- Fix for SELinux on the umad SMI path. Some old hardware
  does not fill the PKey properly exposing another bug in the newer
  SELinux code.
- Check the input port as we can exceed array bounds from this
  user supplied value
- Users are unable to use the hash field support as they want due to
  incorrect checks on the field restrictions, correct that so the
  feature works as intended
- User triggerable oops in the NETLINK_RDMA handler
- cxgb4 driver fix for a bad interaction with CQ flushing in iser
  caused by patches in this merge window, and bad CQ flushing during
  normal close.
- Unbalanced memalloc_noio in ipoib in an error path.

----------------------------------------------------------------
Daniel Jurgens (2):
      IB/core: Bound check alternate path port number
      IB/core: Don't enforce PKey security on SMI MADs

Guy Levi (1):
      IB/mlx4: Fix RSS hash fields restrictions

Leon Romanovsky (1):
      RDMA/netlink: Fix general protection fault

Steve Wise (2):
      iw_cxgb4: only clear the ARMED bit if a notification is needed
      iw_cxgb4: only insert drain cqes if wq is flushed

Yuval Shaia (1):
      IB/ipoib: Restore MM behavior in case of tx_ring allocation failure

 drivers/infiniband/core/cma.c           |  2 +-
 drivers/infiniband/core/device.c        |  2 +-
 drivers/infiniband/core/iwcm.c          |  2 +-
 drivers/infiniband/core/nldev.c         |  2 +-
 drivers/infiniband/core/security.c      |  7 +++++--
 drivers/infiniband/core/uverbs_cmd.c    |  6 ++++++
 drivers/infiniband/hw/cxgb4/cq.c        |  5 +++++
 drivers/infiniband/hw/cxgb4/qp.c        | 22 ++++++++++++++++------
 drivers/infiniband/hw/mlx4/qp.c         | 26 +++++++++++++++++++-------
 drivers/infiniband/ulp/ipoib/ipoib_cm.c |  1 +
 10 files changed, 56 insertions(+), 19 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

end of thread, back to index

Thread overview: 77+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-09 14:28 [GIT PULL] Please pull RDMA subsystem changes Jason Gunthorpe
2019-10-09 19:30 ` pr-tracker-bot
  -- strict thread matches above, loose matches on Subject: below --
2019-09-19 16:34 Jason Gunthorpe
2019-09-21 17:40 ` pr-tracker-bot
2019-07-30 12:15 Jason Gunthorpe
2019-07-30 20:40 ` pr-tracker-bot
2019-07-15 15:26 Jason Gunthorpe
2019-07-16  4:35 ` pr-tracker-bot
2019-06-06 20:14 Jason Gunthorpe
2019-06-07 16:45 ` pr-tracker-bot
2019-05-15  0:46 Jason Gunthorpe
2019-05-15  4:05 ` pr-tracker-bot
2019-05-09 13:37 Jason Gunthorpe
2019-05-09 16:25 ` pr-tracker-bot
2019-04-28 11:52 Jason Gunthorpe
2019-04-28 16:59 ` Linus Torvalds
2019-04-28 23:49   ` Jason Gunthorpe
2019-04-29  0:09     ` Linus Torvalds
2019-04-30 12:53       ` Jason Gunthorpe
2019-04-28 18:05 ` pr-tracker-bot
2019-04-29  6:09 ` Heiko Carstens
2019-04-29  8:40   ` Jason Gunthorpe
2019-04-29  9:00     ` Michal Kubecek
2019-04-29  9:19       ` Leon Romanovsky
2019-04-29 15:42     ` Doug Ledford
2019-04-29 16:29       ` Doug Ledford
2019-04-10 18:46 Jason Gunthorpe
2019-04-10 19:55 ` pr-tracker-bot
2019-03-18  1:04 Jason Gunthorpe
2019-03-19 18:15 ` pr-tracker-bot
2019-03-07  1:34 Jason Gunthorpe
2019-03-10  1:40 ` pr-tracker-bot
2019-02-21 23:07 Jason Gunthorpe
2019-02-22 18:40 ` pr-tracker-bot
2019-02-01 17:41 Jason Gunthorpe
2019-02-01 18:45 ` pr-tracker-bot
2019-01-18  3:56 Jason Gunthorpe
2019-01-18  5:35 ` pr-tracker-bot
2019-01-04  5:00 Jason Gunthorpe
2019-01-06  2:40 ` pr-tracker-bot
2018-12-24 22:16 Jason Gunthorpe
2018-12-29  1:30 ` pr-tracker-bot
2018-11-29 22:52 Jason Gunthorpe
2018-10-25 21:21 Jason Gunthorpe
2018-10-26 14:50 ` Linus Torvalds
2018-09-27 18:24 Jason Gunthorpe
2018-09-27 20:17 ` Greg Kroah-Hartman
2018-09-10 23:04 Jason Gunthorpe
2018-08-22 21:44 Jason Gunthorpe
2018-08-16 21:57 Jason Gunthorpe
2018-08-17 19:31 ` Linus Torvalds
2018-08-17 19:44   ` Linus Torvalds
2018-08-17 20:50     ` Linus Torvalds
2018-08-17 21:16       ` Jason Gunthorpe
2018-08-17 23:56         ` Linus Torvalds
2018-08-17 20:15   ` Jason Gunthorpe
2018-08-17 20:27     ` Linus Torvalds
2018-08-17 21:27       ` Jason Gunthorpe
2018-08-03 16:11 Jason Gunthorpe
2018-07-13 17:13 Jason Gunthorpe
2018-06-20 21:00 Jason Gunthorpe
2018-06-06 21:42 Jason Gunthorpe
2018-06-01 16:47 Jason Gunthorpe
2018-05-24 20:51 Jason Gunthorpe
2018-04-06 16:05 Jason Gunthorpe
2018-05-16 17:39 ` Eugene Syromiatnikov
2018-05-16 17:49   ` Jason Gunthorpe
2018-05-16 18:01     ` Eugene Syromiatnikov
2018-03-29 19:17 Jason Gunthorpe
2018-03-20 23:17 Jason Gunthorpe
2018-01-31 17:47 Jason Gunthorpe
     [not found] ` <20180131174735.GA18568-uk2M96/98Pc@public.gmane.org>
2018-01-31 20:11   ` Linus Torvalds
     [not found]     ` <CA+55aFxmnW-iu1Na3QC8Ci8Q_Qdfn2Ak_9wDB6+A564R=Xn9Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-31 21:04       ` Jason Gunthorpe
     [not found]         ` <20180131210457.GE23352-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2018-02-01 19:12           ` Linus Torvalds
     [not found]             ` <CA+55aFxySLoCHcmZgx2PiF6jEazVOSy=2idccRsWqOzmyK2gaw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-01 20:33               ` Jason Gunthorpe
2017-12-28 21:03 Jason Gunthorpe
2017-12-16 17:12 Jason Gunthorpe

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org linux-rdma@archiver.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/ public-inbox