mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-24 07:31:41 +00:00
inet: simplify timewait refcounting
timewait sockets have a complex refcounting logic.
Once we realize it should be similar to established and
syn_recv sockets, we can use sk_nulls_del_node_init_rcu()
and remove inet_twsk_unhash()
In particular, deferred inet_twsk_put() added in commit
13475a30b6
("tcp: connect() race with timewait reuse")
looks unecessary : When removing a timewait socket from
ehash or bhash, caller must own a reference on the socket
anyway.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3fd2f1b9d9
commit
fc01538f9f
5 changed files with 21 additions and 68 deletions
|
@ -205,8 +205,8 @@ void inet_put_port(struct sock *sk);
|
|||
|
||||
void inet_hashinfo_init(struct inet_hashinfo *h);
|
||||
|
||||
int __inet_hash_nolisten(struct sock *sk, struct inet_timewait_sock *tw);
|
||||
int __inet_hash(struct sock *sk, struct inet_timewait_sock *tw);
|
||||
void __inet_hash_nolisten(struct sock *sk, struct sock *osk);
|
||||
void __inet_hash(struct sock *sk, struct sock *osk);
|
||||
void inet_hash(struct sock *sk);
|
||||
void inet_unhash(struct sock *sk);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue