[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <47B29055.8060409@gmail.com>
Date: Wed, 13 Feb 2008 00:38:13 -0600
From: Kris Katterjohn <katterjohn@...il.com>
To: netdev@...r.kernel.org
Subject: [PATCH] Reorder ACK/RST checking in LISTEN state
Hey everyone,
[I'm not subscribed, so please CC me on any replies]
I've attached a patch that changes the order of the ACK and RST checking
in the LISTEN state in tcp_rcv_state_process() in tcp_input.c
Before: If an ACK/RST packet is received, then tcp_rcv_state_process()
would return 1 because of the ACK. Then (following the function calls
in tcp_ipv4.c and tcp_minisocks.c), tcp_v4_send_reset() is called--but
since there is a RST in the packet it just returns. After this, the
kfree_skb() is called. The same goes in tcp_ipv6.c as well.
But if the order of the ACK and RST checking is reversed, __kfree_skb()
is called in tcp_rcv_state_process() because of the RST and the function
returns 0, which skips that other useless stuff.
This is the order specified on page 65 of RFC 793 anyway.
Signed-off-by: Kris Katterjohn <katterjohn@...il.com>
Thanks,
Kris Katterjohn
View attachment "ackrst.patch" of type "text/x-patch" (413 bytes)
Powered by blists - more mailing lists