Thread (29 messages) 29 messages, 3 authors, 2026-08-07

Re: [PATCH net 3/9] net/tls: Fail tls_sw_splice_read() after a failed async decrypt

flat view

From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-08-03 22:59:36
Also in: linux-kselftest

On Sun, 26 Jul 2026 20:33:31 -0400 Chuck Lever wrote:
When an async decrypt fails, tls_decrypt_done() records the error in
ctx->async_wait.err and calls tls_err_abort(), which stores it in
sk_err. tls_sw_recvmsg() and tls_sw_read_sock() each read
async_wait.err once they hold the reader lock and fail the call: a
record that did not authenticate breaks the connection.

tls_sw_splice_read() has no such check, and sk_err does not stand in
for one. tls_rx_rec_wait() tests sk_err only inside the loop it
skips whenever a record is already parsed, and the first reader to
reach sock_error() clears it, while async_wait.err persists. A
splice therefore keeps delivering records on a connection that
recvmsg() and read_sock() refuse to read.

Read async_wait.err in tls_sw_splice_read() as the other two readers
do.
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help