]> git.dujemihanovic.xyz Git - linux.git/commit
tcp: fix tcp_cleanup_rbuf() for tcp_read_skb()
authorCong Wang <cong.wang@bytedance.com>
Wed, 17 Aug 2022 19:54:43 +0000 (12:54 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 18 Aug 2022 18:04:55 +0000 (11:04 -0700)
commitc457985aaa92e1fda2ce837cabf90bf687b92dcb
tree4cd5da4db9550745fa0e2e19bab91495919753a6
parente9c6e79760265f019cde39d3f2c443dfbc1395b0
tcp: fix tcp_cleanup_rbuf() for tcp_read_skb()

tcp_cleanup_rbuf() retrieves the skb from sk_receive_queue, it
assumes the skb is not yet dequeued. This is no longer true for
tcp_read_skb() case where we dequeue the skb first.

Fix this by introducing a helper __tcp_cleanup_rbuf() which does
not require any skb and calling it in tcp_read_skb().

Fixes: 04919bed948d ("tcp: Introduce tcp_read_skb()")
Cc: Eric Dumazet <edumazet@google.com>
Cc: John Fastabend <john.fastabend@gmail.com>
Cc: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/tcp.c