mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 15:11:16 +00:00
net/tls: don't leak partially sent record in device mode
David reports that tls triggers warnings related to sk->sk_forward_alloc not being zero at destruction time: WARNING: CPU: 5 PID: 6831 at net/core/stream.c:206 sk_stream_kill_queues+0x103/0x110 WARNING: CPU: 5 PID: 6831 at net/ipv4/af_inet.c:160 inet_sock_destruct+0x15b/0x170 When sender fills up the write buffer and dies from SIGPIPE. This is due to the device implementation not cleaning up the partially_sent_record. This is because commita42055e8d2
("net/tls: Add support for async encryption of records for performance") moved the partial record cleanup to the SW-only path. Fixes:a42055e8d2
("net/tls: Add support for async encryption of records for performance") Reported-by: David Beckett <david.beckett@netronome.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com> Reviewed-by: Simon Horman <simon.horman@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5a03bc73ab
commit
35b71a34ad
4 changed files with 32 additions and 14 deletions
|
@ -219,6 +219,13 @@ void tls_device_sk_destruct(struct sock *sk)
|
|||
}
|
||||
EXPORT_SYMBOL(tls_device_sk_destruct);
|
||||
|
||||
void tls_device_free_resources_tx(struct sock *sk)
|
||||
{
|
||||
struct tls_context *tls_ctx = tls_get_ctx(sk);
|
||||
|
||||
tls_free_partial_record(sk, tls_ctx);
|
||||
}
|
||||
|
||||
static void tls_append_frag(struct tls_record_info *record,
|
||||
struct page_frag *pfrag,
|
||||
int size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue