Subject: [PATCH net] tcp: add a missing sk_defer_free_flush() in tcp_splice_read()

From: Eric Dumazet <[email-masked]>
Date: Thu, 20 Jan 2022 04:45:30 -0800

From: Eric Dumazet <[email-masked]>

Without it, splice users can hit the warning
added in commit 79074a72d335 ("net: Flush deferred skb free on socket destroy")

Fixes: f35f821935d8 ("tcp: defer skb freeing after socket lock is released")
Fixes: 79074a72d335 ("net: Flush deferred skb free on socket destroy")
Suggested-by: Jakub Kicinski <[email-masked]>
Signed-off-by: Eric Dumazet <[email-masked]>
Cc: Gal Pressman <[email-masked]>
---
 net/ipv4/tcp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 3b75836db19b07b0f178ef4457bda0ec641fd40d..78e81465f5f3632f54093495d2f2a064e60c7237 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -842,6 +842,7 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos,
 	}
 
 	release_sock(sk);
+	sk_defer_free_flush(sk);
 
 	if (spliced)
 		return spliced;
-- 
2.34.1.703.g22d0c6ccf7-goog