On Mon, Oct 05, 2026, [email protected] wrote: > > + if (nodata && signal_pending(current)) { > > + long timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); > > + > > + err = sock_intr_errno(timeo); > > + goto recv_end; > > + } > > [Severity: Medium] > Can this errno be lost when the empty record that set nodata was decrypted > asynchronously?
Yes, at this commit, with TLS 1.2 and an async AEAD. The empty record goes onto rx_list through the async arm, and recv_end then replaces err with the zero that process_rx_list() returns for async_copy_bytes == 0. The same assignment already discards the -EAGAIN from tls_rx_rec_wait() in that configuration, so a nonblocking reader gets the zero return before this patch too. But the patch description promises -EINTR, and at this commit the reader does not get it. 5/8 stops decrypting empty records asynchronously. In v3 that change will move into this patch. -- Chuck Lever (Come to NFS bake-a-thon! https://nfsv4bat.org)
