Re: [PATCH net 5/9] net/tls: Consume empty data records in tls_sw_recvmsg()
"Chuck Lever" <[email protected]>
| Newsgroups | gmane.linux.network |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Aug 3, 2026, at 6:47 PM, Jakub Kicinski wrote: > On Sun, 26 Jul 2026 20:33:33 -0400 Chuck Lever wrote: >> - /* Do not use async mode if record is non-data */ >> + /* Do not use async mode if record is non-data, or if it >> + * is empty: the receive loop frees an empty record's skb, >> + * so its decryption must have completed. >> + */ >> if (tlm->control == TLS_RECORD_TYPE_DATA) >> - darg.async = ctx->async_capable; >> + darg.async = ctx->async_capable && to_decrypt; > > I vaguely recall that we depend on all records being async > uniformly within a single recvmsg call That holds, but it keys off the accumulated async flag rather than darg.async, so a synchronous record among async ones is still queued on rx_list. Empty records return before that block and copy nothing. -- Chuck Lever