numam-spdk/lib/nvme
Alexey Marchuk eb78b90ca8 nvme/rdma: Check that SGL descriptors fit into ICD
The issue happens when SPDK RDMA initiator is connected to a remote
target and this target reports rather small (or zero) ICD and we try
to send several SGL descriptors.
Since SGL descriptors are located in ICD, we should check that their
total length fits into ICD. In other case sending such a command
will cause RDMA errors (local length error)

Change-Id: I8c0e8375dae799bc442ed2fab249cad2c4ccce51
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reported-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4131
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-09-16 07:58:13 +00:00
..
Makefile nvme: add initial namespace types support 2020-09-11 07:29:51 +00:00
nvme_ctrlr_cmd.c lib/nvme: Add spdk_nvme_ctrlr_cmd_abort_ext() to abort commands whose cb_arg matches 2020-07-14 07:54:42 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c nvme: expose functions to manage queue identifiers 2020-09-15 07:13:46 +00:00
nvme_cuse.c nvme/cuse: fix nblocks and block_size in rw path 2020-09-04 08:13:56 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c lib/nvme: make fabrics connect timeout configurable. 2020-08-19 07:29:19 +00:00
nvme_internal.h lib/nvme: make fabrics connect timeout configurable. 2020-08-19 07:29:19 +00:00
nvme_io_msg.c lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_io_msg.h lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_ns_cmd.c lib: net, notify, nvme, rocksdb remove spdk_ prefix. 2020-05-21 09:19:00 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c nvme: add initial namespace types support 2020-09-11 07:29:51 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c lib/nvme: Remove inclusion of SPDK event library 2020-06-01 09:20:41 +00:00
nvme_pcie.c nvme/pci: Check for command completions after deleting submission queue 2020-09-04 08:14:44 +00:00
nvme_poll_group.c lib/nvme: switch poll group to use connect/disconnect semantics. 2020-04-22 19:06:26 +00:00
nvme_qpair.c lib/nvme: fix mem leak in req submit. 2020-09-02 07:38:38 +00:00
nvme_quirks.c env: add spdk_pci_id->class_id 2020-07-23 20:48:47 +00:00
nvme_rdma.c nvme/rdma: Check that SGL descriptors fit into ICD 2020-09-16 07:58:13 +00:00
nvme_tcp.c nvme/tcp: Make the return value consistent. 2020-08-24 07:37:13 +00:00
nvme_transport.c nvme/transport: addd assert for transport. 2020-07-29 07:37:26 +00:00
nvme_uevent.c nvme: increase size of uevent buffer to 1MB 2020-09-08 07:49:32 +00:00
nvme_uevent.h nvme: read all uevents 2020-08-24 07:38:33 +00:00
nvme.c nvme: don't assert on custom transport 2020-08-21 08:23:19 +00:00
spdk_nvme.map nvme: expose functions to manage queue identifiers 2020-09-15 07:13:46 +00:00