]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tcp: increase LINUX_MIB_BEYOND_WINDOW for SKB_DROP_REASON_TCP_OVERWINDOW
authorSimon Baatz <gmbnomis@gmail.com>
Mon, 9 Mar 2026 08:02:28 +0000 (09:02 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 14 Mar 2026 15:01:50 +0000 (08:01 -0700)
Since commit 9ca48d616ed7 ("tcp: do not accept packets beyond
window"), the path leading to SKB_DROP_REASON_TCP_OVERWINDOW in
tcp_data_queue() is probably dead. However, it can be reached now when
tcp_max_receive_window() is larger than tcp_receive_window(). In that
case, increment LINUX_MIB_BEYOND_WINDOW as done in tcp_sequence().

Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260309-tcp_rfc7323_retract_wnd_rfc-v3-3-4c7f96b1ec69@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/tcp_input.c

index 2e1b237608150c2e9c9baf73cf047ed0823ca555..e6b2f4be7723db14acf2ae528df17b6d106b9da9 100644 (file)
@@ -5678,6 +5678,7 @@ drop:
        if (!before(TCP_SKB_CB(skb)->seq,
                    tp->rcv_nxt + tcp_receive_window(tp))) {
                reason = SKB_DROP_REASON_TCP_OVERWINDOW;
+               NET_INC_STATS(sock_net(sk), LINUX_MIB_BEYOND_WINDOW);
                goto out_of_window;
        }