]> git.baikalelectronics.ru Git - kernel.git/commit
IB: Correct MR length field to be 64-bit
authorParav Pandit <parav@mellanox.com>
Sun, 24 Sep 2017 18:46:31 +0000 (21:46 +0300)
committerDoug Ledford <dledford@redhat.com>
Mon, 25 Sep 2017 15:47:23 +0000 (11:47 -0400)
commit26ae3e5bbd73a1bb40fb3168fbc2709cd422c18a
treed584b00f8d035cda6a28ab7733b2a4ebfb2032f7
parent60140f4e5cf9450644d9c16a30944977511ac6eb
IB: Correct MR length field to be 64-bit

The ib_mr->length represents the length of the MR in bytes as per
the IBTA spec 1.3 section 11.2.10.3 (REGISTER PHYSICAL MEMORY REGION).

Currently ib_mr->length field is defined as only 32-bits field.
This might result into truncation and failed WRs of consumers who
registers more than 4GB bytes memory regions and whose WRs accessing
such MRs.

This patch makes the length 64-bit to avoid such truncation.

Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Faisal Latif <faisal.latif@intel.com>
Fixes: 4315ec9aefb5 ("IB/core: Introduce new fast registration API")
Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/nes/nes_verbs.c
drivers/infiniband/ulp/iser/iser_memory.c
include/rdma/ib_verbs.h
net/sunrpc/xprtrdma/frwr_ops.c