]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
nvme-tcp: strict pdu pacing to avoid send stalls on TLS
authorHannes Reinecke <hare@kernel.org>
Thu, 18 Apr 2024 10:39:45 +0000 (12:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2024 07:48:55 +0000 (09:48 +0200)
commitc810dd91cca23244e9826761f3a98952e9109b54
treebe2b21c652bf2729425da641249afa864292a34a
parentdffd29d230b76d2b42300c6436d478d933113546
nvme-tcp: strict pdu pacing to avoid send stalls on TLS

[ Upstream commit 50abcc179e0c9ca667feb223b26ea406d5c4c556 ]

TLS requires a strict pdu pacing via MSG_EOR to signal the end
of a record and subsequent encryption. If we do not set MSG_EOR
at the end of a sequence the record won't be closed, encryption
doesn't start, and we end up with a send stall as the message
will never be passed on to the TCP layer.
So do not check for the queue status when TLS is enabled but
rather make the MSG_MORE setting dependent on the current
request only.

Signed-off-by: Hannes Reinecke <hare@kernel.org>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/host/tcp.c