Commit 5c8c1640 authored by Geliang Tang's avatar Geliang Tang Committed by David S. Miller

mptcp: add mptcp_destroy_common helper

This patch added a new helper named mptcp_destroy_common containing the
shared code between mptcp_destroy() and mptcp_sock_destruct().
Suggested-by: default avatarPaolo Abeni <pabeni@redhat.com>
Signed-off-by: default avatarGeliang Tang <geliangtang@gmail.com>
Reviewed-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7a7e52e3
...@@ -2128,16 +2128,21 @@ static struct sock *mptcp_accept(struct sock *sk, int flags, int *err, ...@@ -2128,16 +2128,21 @@ static struct sock *mptcp_accept(struct sock *sk, int flags, int *err,
return newsk; return newsk;
} }
void mptcp_destroy_common(struct mptcp_sock *msk)
{
skb_rbtree_purge(&msk->out_of_order_queue);
mptcp_token_destroy(msk);
mptcp_pm_free_anno_list(msk);
}
static void mptcp_destroy(struct sock *sk) static void mptcp_destroy(struct sock *sk)
{ {
struct mptcp_sock *msk = mptcp_sk(sk); struct mptcp_sock *msk = mptcp_sk(sk);
skb_rbtree_purge(&msk->out_of_order_queue);
mptcp_token_destroy(msk);
if (msk->cached_ext) if (msk->cached_ext)
__skb_ext_put(msk->cached_ext); __skb_ext_put(msk->cached_ext);
mptcp_pm_free_anno_list(msk); mptcp_destroy_common(msk);
sk_sockets_allocated_dec(sk); sk_sockets_allocated_dec(sk);
} }
......
...@@ -408,6 +408,7 @@ bool mptcp_finish_join(struct sock *sk); ...@@ -408,6 +408,7 @@ bool mptcp_finish_join(struct sock *sk);
void mptcp_data_acked(struct sock *sk); void mptcp_data_acked(struct sock *sk);
void mptcp_subflow_eof(struct sock *sk); void mptcp_subflow_eof(struct sock *sk);
bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq); bool mptcp_update_rcv_data_fin(struct mptcp_sock *msk, u64 data_fin_seq);
void mptcp_destroy_common(struct mptcp_sock *msk);
void __init mptcp_token_init(void); void __init mptcp_token_init(void);
static inline void mptcp_token_init_request(struct request_sock *req) static inline void mptcp_token_init_request(struct request_sock *req)
......
...@@ -435,9 +435,7 @@ static void mptcp_sock_destruct(struct sock *sk) ...@@ -435,9 +435,7 @@ static void mptcp_sock_destruct(struct sock *sk)
sock_orphan(sk); sock_orphan(sk);
} }
skb_rbtree_purge(&mptcp_sk(sk)->out_of_order_queue); mptcp_destroy_common(mptcp_sk(sk));
mptcp_token_destroy(mptcp_sk(sk));
mptcp_pm_free_anno_list(mptcp_sk(sk));
inet_sock_destruct(sk); inet_sock_destruct(sk);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment