mirror of https://github.com/torvalds/linux.git
With TLS enabled, records that are encrypted and appended to TLS TX
list can fail to see a retry if the underlying TCP socket is busy, for
example, hitting an EAGAIN from tcp_sendmsg_locked(). This is not known
to the NVMe TCP driver, as the TLS layer successfully generated a record.
Typically, the TLS write_space() callback would ensure such records are
retried, but in the NVMe TCP Host driver, write_space() invokes
nvme_tcp_write_space(). This causes a partially sent record in the TLS TX
list to timeout after not being retried.
This patch fixes the above by calling queue->write_space(), which calls
into the TLS layer to retry any pending records.
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| apple.c | ||
| auth.c | ||
| constants.c | ||
| core.c | ||
| fabrics.c | ||
| fabrics.h | ||
| fault_inject.c | ||
| fc.c | ||
| fc.h | ||
| hwmon.c | ||
| ioctl.c | ||
| multipath.c | ||
| nvme.h | ||
| pci.c | ||
| pr.c | ||
| rdma.c | ||
| sysfs.c | ||
| tcp.c | ||
| trace.c | ||
| trace.h | ||
| zns.c | ||