diff options
author | Eric Dumazet <edumazet@google.com> | 2022-01-20 04:45:30 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-01-20 20:17:50 -0800 |
commit | ebdc1a0309629e71e5910b353e6b005f022ce171 (patch) | |
tree | 00c75992d8edd404f3ee402a98964174da2ab6bc /net | |
parent | 48cec899e357cfb92d022a9c0df6bbe72a7f6951 (diff) | |
download | linux-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.c | 1 |
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; |