summaryrefslogtreecommitdiffstats
path: root/include/linux/mlx5/mlx5_ifc.h
diff options
context:
space:
mode:
authorJack Morgenstein2017-05-21 18:11:13 +0200
committerDoug Ledford2017-06-01 23:04:51 +0200
commiteed7624552ca55c346a4e9ccaa9ab0723841aee6 (patch)
tree34615fc83a55ae41203ae20d541ce6f81148a301 /include/linux/mlx5/mlx5_ifc.h
parentRDMA/qib,hfi1: Fix MR reference count leak on write with immediate (diff)
downloadkernel-qcow2-linux-eed7624552ca55c346a4e9ccaa9ab0723841aee6.tar.gz
kernel-qcow2-linux-eed7624552ca55c346a4e9ccaa9ab0723841aee6.tar.xz
kernel-qcow2-linux-eed7624552ca55c346a4e9ccaa9ab0723841aee6.zip
RDMA/mlx4: Fix MAD tunneling when SRIOV is enabled
The cited patch added a type field to structures ib_ah and rdma_ah_attr. Function mlx4_ib_query_ah() builds an rdma_ah_attr structure from the data in an mlx4_ib_ah structure (which contains both an ib_ah structure and an address vector). For mlx4_ib_query_ah() to work properly, the type field in the contained ib_ah structure must be set correctly. In the outgoing MAD tunneling flow, procedure mlx4_ib_multiplex_mad() paravirtualizes a MAD received from a slave and sends the processed mad out over the wire. During this processing, it populates an mlx4_ib_ah structure and calls mlx4_ib_query_ah(). The cited commit overlooked setting the type field in the contained ib_ah structure before invoking mlx4_ib_query_ah(). As a result, the type field remained uninitialized, and the rdma_ah_attr structure was incorrectly built. This resulted in improperly built MADs being sent out over the wire. This patch properly initializes the type field in the contained ib_ah structure before calling mlx4_ib_query_ah(). The rdma_ah_attr structure is then generated correctly. Fixes: 44c58487d51a ("IB/core: Define 'ib' and 'roce' rdma_ah_attr types") Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/linux/mlx5/mlx5_ifc.h')
0 files changed, 0 insertions, 0 deletions