numam-spdk/lib
Shuhei Matsumoto eb739d0364 iscsi: Fix the case that incoming data is split between data segment and data digest
When data segment size is 64KB and data digest is enabled, if
data segment and data digest are split into different two packets,
- pdu->mobj[0] became full first when reading data semgment,
- pdu->mobj[1] was allocated but unused and data digest was read.

In this case, two SCSI write tasks were submitted by mistake and
the second SCSI write task had no data.

Fix the bug in this patch.

When iscsi_pdu_payload_read() is called and pdu->mobj[0] is full,
allocate pdu->mobj[1] only if any of data segment remains to read.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I9a0c36c05f90092c3c2122a7eb91e10976830b40
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9965
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2021-11-11 23:22:57 +00:00
..
accel accel: create SW Engine Channel if HW Engine not supports 2021-10-20 23:04:38 +00:00
bdev lib/bdev: add context to trace records in bdev.c 2021-10-20 07:22:00 +00:00
blob blob: use uint64_t for unmap and write_zeroes lba count 2021-10-14 08:17:16 +00:00
blobfs trace: move all trace definitions to a separate file 2021-10-20 07:22:00 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Add infrstructure for push operation 2021-10-20 22:55:52 +00:00
env_dpdk env/dpdk: retry SO_RCVBUF if SO_RCVBUFFORCE fails 2021-11-08 16:05:51 +00:00
env_ocf Update ocf to 21.6 2021-10-20 07:22:22 +00:00
event event: use for_each_reactor to shut down reactors 2021-10-21 09:17:42 +00:00
ftl ftl: fix set-but-not-used error 2021-11-03 18:30:55 +00:00
idxd lib/idxd: only select idxd device that are on the same socket 2021-10-07 09:26:50 +00:00
init init: use strerror when conf file can't be loaded 2021-11-03 18:30:55 +00:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi iscsi: Fix the case that incoming data is split between data segment and data digest 2021-11-11 23:22:57 +00:00
json json: add the spdk_json_write_uint8|16 function 2021-10-14 09:52:25 +00:00
jsonrpc jsonrpc: use SOCK_NONBLOCK in socket() calls 2021-05-05 13:31:10 +00:00
log log: add an API to return syslog level based on SPDK's log level 2021-08-12 12:57:39 +00:00
lvol blob: use uint64_t for unmap and write_zeroes lba count 2021-10-14 08:17:16 +00:00
nbd lib/nbd: hot remove will be correctly handled 2021-07-26 08:56:23 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme: add an API to check existing transport type is fabric or not 2021-11-05 00:53:27 +00:00
nvmf nvmf: fix check for buffs num in nvmf_request_get_buffers 2021-11-10 20:25:35 +00:00
rdma include: remove util.h include from queue_extras.h 2021-04-14 07:25:21 +00:00
reduce util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
rocksdb rocksdb: fix thread name typo 2021-09-03 08:08:20 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi scsi: Decide LUN format for each LUN ID 2021-10-12 09:10:18 +00:00
sock socket: Remove deprecated enable_zerocopy_send 2021-07-23 10:30:25 +00:00
thread thread: reap unreg pollers in intr 2021-10-21 21:25:53 +00:00
trace trace: enable adding relations between traces 2021-10-21 17:57:33 +00:00
trace_parser trace: enable adding relations between traces 2021-10-21 17:57:33 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util add name to fd groups 2021-10-07 09:25:48 +00:00
vfio_user nvme/vfio-user: remove internal device list 2021-11-10 23:11:13 +00:00
vhost vhost/scsi: Use spdk_scsi_dev_get_first/next_lun() to iterate LUNs. 2021-10-11 10:08:22 +00:00
virtio env: only pass failing address to spdk_pci_error_handler 2021-06-15 08:34:28 +00:00
vmd vmd: update for changes in IceLake platform 2021-08-31 08:39:37 +00:00
Makefile lib/trace_parser: add trace_parser library stubs 2021-09-29 08:57:58 +00:00