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
@@ -257,7 +257,6 @@ inet_csk_rto_backoff(const struct inet_connection_sock *icsk,
|
||||
struct sock *inet_csk_accept(struct sock *sk, int flags, int *err);
|
||||
|
||||
struct request_sock *inet_csk_search_req(const struct sock *sk,
|
||||
struct request_sock ***prevp,
|
||||
const __be16 rport,
|
||||
const __be32 raddr,
|
||||
const __be32 laddr);
|
||||
@@ -310,17 +309,15 @@ static inline int inet_csk_reqsk_queue_is_full(const struct sock *sk)
|
||||
}
|
||||
|
||||
static inline void inet_csk_reqsk_queue_unlink(struct sock *sk,
|
||||
struct request_sock *req,
|
||||
struct request_sock **prev)
|
||||
struct request_sock *req)
|
||||
{
|
||||
reqsk_queue_unlink(&inet_csk(sk)->icsk_accept_queue, req, prev);
|
||||
reqsk_queue_unlink(&inet_csk(sk)->icsk_accept_queue, req);
|
||||
}
|
||||
|
||||
static inline void inet_csk_reqsk_queue_drop(struct sock *sk,
|
||||
struct request_sock *req,
|
||||
struct request_sock **prev)
|
||||
struct request_sock *req)
|
||||
{
|
||||
inet_csk_reqsk_queue_unlink(sk, req, prev);
|
||||
inet_csk_reqsk_queue_unlink(sk, req);
|
||||
inet_csk_reqsk_queue_removed(sk, req);
|
||||
reqsk_free(req);
|
||||
}
|
||||
|
Reference in New Issue
Block a user