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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.