Skip to content

Commit

Permalink
inet: remove rcu protection on tw_net
Browse files Browse the repository at this point in the history
commit b099ce2 (net: Batch inet_twsk_purge) added rcu protection
on tw_net for no obvious reason.

struct net are refcounted anyway since timewait sockets escape from rcu
protected sections. tw_net stay valid for the whole timwait lifetime.

This also removes a lot of sparse errors.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Eric Dumazet authored and David S. Miller committed Dec 14, 2011
1 parent e6560d4 commit f943cbe
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions include/net/inet_timewait_sock.h
Original file line number Diff line number Diff line change
Expand Up @@ -218,20 +218,12 @@ extern void inet_twsk_purge(struct inet_hashinfo *hashinfo,
static inline
struct net *twsk_net(const struct inet_timewait_sock *twsk)
{
#ifdef CONFIG_NET_NS
return rcu_dereference_raw(twsk->tw_net); /* protected by locking, */
/* reference counting, */
/* initialization, or RCU. */
#else
return &init_net;
#endif
return read_pnet(&twsk->tw_net);
}

static inline
void twsk_net_set(struct inet_timewait_sock *twsk, struct net *net)
{
#ifdef CONFIG_NET_NS
rcu_assign_pointer(twsk->tw_net, net);
#endif
write_pnet(&twsk->tw_net, net);
}
#endif /* _INET_TIMEWAIT_SOCK_ */

0 comments on commit f943cbe

Please sign in to comment.