inet: drop prev pointer handling in request sock
When request sock are put in ehash table, the whole notion of having a previous request to update dl_next is pointless. Also, following patch will get rid of big purge timer, so we want to delete a request sock without holding listener lock. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a998f712f7
commit
52452c5425
@@ -572,7 +572,6 @@ EXPORT_SYMBOL(tcp_create_openreq_child);
|
||||
|
||||
struct sock *tcp_check_req(struct sock *sk, struct sk_buff *skb,
|
||||
struct request_sock *req,
|
||||
struct request_sock **prev,
|
||||
bool fastopen)
|
||||
{
|
||||
struct tcp_options_received tmp_opt;
|
||||
@@ -766,7 +765,7 @@ struct sock *tcp_check_req(struct sock *sk, struct sk_buff *skb,
|
||||
if (child == NULL)
|
||||
goto listen_overflow;
|
||||
|
||||
inet_csk_reqsk_queue_unlink(sk, req, prev);
|
||||
inet_csk_reqsk_queue_unlink(sk, req);
|
||||
inet_csk_reqsk_queue_removed(sk, req);
|
||||
|
||||
inet_csk_reqsk_queue_add(sk, req, child);
|
||||
@@ -791,7 +790,7 @@ embryonic_reset:
|
||||
tcp_reset(sk);
|
||||
}
|
||||
if (!fastopen) {
|
||||
inet_csk_reqsk_queue_drop(sk, req, prev);
|
||||
inet_csk_reqsk_queue_drop(sk, req);
|
||||
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_EMBRYONICRSTS);
|
||||
}
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user