diff options
| author | 2025-10-14 11:17:00 +0200 | |
|---|---|---|
| committer | 2025-10-23 16:24:31 +0200 | |
| commit | 8e49da5e8fcdc2df5e8ab745e8e11fe8d2b65a05 (patch) | |
| tree | 6dfe6e72f04c45cae178d38ddcc9ba033ed042d0 /tools/perf/scripts/python/bin/ssh:/git@git.zx2c4.com | |
| parent | tls: wait for pending async decryptions if tls_strp_msg_hold fails (diff) | |
tls: don't rely on tx_work during send()
[ Upstream commit 7f846c65ca11e63d2409868ff039081f80e42ae4 ]
With async crypto, we rely on tx_work to actually transmit records
once encryption completes. But while send() is running, both the
tx_lock and socket lock are held, so tx_work_handler cannot process
the queue of encrypted records, and simply reschedules itself. During
a large send(), this could last a long time, and use a lot of memory.
Transmit any pending encrypted records before restarting the main
loop of tls_sw_sendmsg_locked.
Fixes: a42055e8d2c3 ("net/tls: Add support for async encryption of records for performance")
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/8396631478f70454b44afb98352237d33f48d34d.1760432043.git.sd@queasysnail.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/ssh:/git@git.zx2c4.com')
0 files changed, 0 insertions, 0 deletions
