From: Geliang Tang <[email protected]>

This patch extracts the free skb related code in __mptcp_recvmsg_mskq()
into a new helper mptcp_eat_recv_skb().

This new helper will be used in the next patch.

Signed-off-by: Geliang Tang <[email protected]>
Reviewed-by: Mat Martineau <[email protected]>
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
---
 net/mptcp/protocol.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index f505b780f713..80f37220ef0c 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -1994,6 +1994,17 @@ static int mptcp_sendmsg(struct sock *sk, struct msghdr 
*msg, size_t len)
 
 static void mptcp_rcv_space_adjust(struct mptcp_sock *msk, int copied);
 
+static void mptcp_eat_recv_skb(struct sock *sk, struct sk_buff *skb)
+{
+       /* avoid the indirect call, we know the destructor is sock_rfree */
+       skb->destructor = NULL;
+       skb->sk = NULL;
+       atomic_sub(skb->truesize, &sk->sk_rmem_alloc);
+       sk_mem_uncharge(sk, skb->truesize);
+       __skb_unlink(skb, &sk->sk_receive_queue);
+       skb_attempt_defer_free(skb);
+}
+
 static int __mptcp_recvmsg_mskq(struct sock *sk, struct msghdr *msg,
                                size_t len, int flags, int copied_total,
                                struct scm_timestamping_internal *tss,
@@ -2048,13 +2059,7 @@ static int __mptcp_recvmsg_mskq(struct sock *sk, struct 
msghdr *msg,
                                break;
                        }
 
-                       /* avoid the indirect call, we know the destructor is 
sock_rfree */
-                       skb->destructor = NULL;
-                       skb->sk = NULL;
-                       atomic_sub(skb->truesize, &sk->sk_rmem_alloc);
-                       sk_mem_uncharge(sk, skb->truesize);
-                       __skb_unlink(skb, &sk->sk_receive_queue);
-                       skb_attempt_defer_free(skb);
+                       mptcp_eat_recv_skb(sk, skb);
                }
 
                if (copied >= len)

-- 
2.51.0


Reply via email to