summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2022-01-20 04:45:30 -0800
committerJakub Kicinski <kuba@kernel.org>2022-01-20 20:17:50 -0800
commitebdc1a0309629e71e5910b353e6b005f022ce171 (patch)
tree00c75992d8edd404f3ee402a98964174da2ab6bc /net
parent48cec899e357cfb92d022a9c0df6bbe72a7f6951 (diff)
downloadlinux-stable-ebdc1a0309629e71e5910b353e6b005f022ce171.tar.gz
linux-stable-ebdc1a0309629e71e5910b353e6b005f022ce171.tar.bz2
linux-stable-ebdc1a0309629e71e5910b353e6b005f022ce171.zip
tcp: add a missing sk_defer_free_flush() in tcp_splice_read()
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 <kuba@kernel.org> Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Gal Pressman <gal@nvidia.com> Link: https://lore.kernel.org/r/20220120124530.925607-1-eric.dumazet@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/tcp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 3b75836db19b..78e81465f5f3 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;