Hi all,
A kTLS socket with device (HW) TX offload can leave its final
record unsent when sendfile(2) is called with count > bytes-
remaining in the file and the connection is closed without a
trailing write. fs/splice.c fires ->splice_eof on the socket in
this case, and tls_device_splice_eof() pre-patch only pushed
partially-sent records - a fully-assembled but still-open record
stayed pending until the next write, which an abrupt close()
never provides. TLS_SW is unaffected; tls_sw_splice_eof() already
handles pending open records.
Report and discussion:
https://lore.kernel.org/netdev/CAMPsyauZ+jzG9AysO0FWv6ZY0kvCUpjX_U7o=oOjCuOQ87BCgg@mail.gmail.com/ (local)
Rishikesh
Rishikesh Jethwani (1):
tls: device: push pending open record on splice EOF
net/tls/tls_device.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--
2.25.1