diff options
| author | David S. Miller <davem@davemloft.net> | 2019-04-10 23:07:02 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-04-10 23:07:02 +0300 |
| commit | 44f5e0480752b356f577aef90a5813299c3c60b1 (patch) | |
| tree | 745bb98ce86c2b200e8d2c642ddcf65c4cb9a2ef /include | |
| parent | f4a58857151f5d0a885fcebb47f6fb1b17dfda9a (diff) | |
| parent | 4a9c2e3746e6151fd5d077259d79ce9ca86d47d7 (diff) | |
| download | linux-44f5e0480752b356f577aef90a5813299c3c60b1.tar.xz | |
Merge branch 'tls-leaks'
Jakub Kicinski says:
====================
net: tls: fix memory leaks and freeing skbs
This series fixes two memory issues and a stack overflow.
First two patches are fairly simple leaks. Third patch
partially reverts an optimization made to the strparser
which causes creation of skb->frag_list->skb->frag_list...
chains of 100s of skbs, leading to recursive kfree_skb()
filling up the kernel stack.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/tls.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/tls.h b/include/net/tls.h index a5a938583295..c7f7dc344e73 100644 --- a/include/net/tls.h +++ b/include/net/tls.h @@ -307,6 +307,7 @@ int tls_device_sendmsg(struct sock *sk, struct msghdr *msg, size_t size); int tls_device_sendpage(struct sock *sk, struct page *page, int offset, size_t size, int flags); void tls_device_sk_destruct(struct sock *sk); +void tls_device_free_resources_tx(struct sock *sk); void tls_device_init(void); void tls_device_cleanup(void); int tls_tx_records(struct sock *sk, int flags); @@ -330,6 +331,7 @@ int tls_push_sg(struct sock *sk, struct tls_context *ctx, int flags); int tls_push_partial_record(struct sock *sk, struct tls_context *ctx, int flags); +bool tls_free_partial_record(struct sock *sk, struct tls_context *ctx); static inline struct tls_msg *tls_msg(struct sk_buff *skb) { |
