diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-12-09 11:26:43 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-12-09 11:26:43 +1100 |
commit | cd4e1460fb1cab7a89b5e769f389c6b74ff1b19b (patch) | |
tree | 1f03fd858451da9466e4d90acc2e316e5d9b302e /include | |
parent | 7cfec606ed03a6b02bed030bbbe99c3f442ed4f1 (diff) | |
parent | f19872575ff7819a3723154657a497d9bca66b33 (diff) |
Merge remote branch 'net-current/master'
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/snmp.h | 1 | ||||
-rw-r--r-- | include/net/sock.h | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index ebb0c80ffd6e..12b2b18e50c1 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h @@ -230,6 +230,7 @@ enum LINUX_MIB_TCPMINTTLDROP, /* RFC 5082 */ LINUX_MIB_TCPDEFERACCEPTDROP, LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */ + LINUX_MIB_TCPTIMEWAITOVERFLOW, /* TCPTimeWaitOverflow */ __LINUX_MIB_MAX }; diff --git a/include/net/sock.h b/include/net/sock.h index a6338d039857..659d968d95c5 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1155,6 +1155,8 @@ extern void sk_common_release(struct sock *sk); /* Initialise core socket variables */ extern void sock_init_data(struct socket *sock, struct sock *sk); +extern void sk_filter_release_rcu(struct rcu_head *rcu); + /** * sk_filter_release - release a socket filter * @fp: filter to remove @@ -1165,7 +1167,7 @@ extern void sock_init_data(struct socket *sock, struct sock *sk); static inline void sk_filter_release(struct sk_filter *fp) { if (atomic_dec_and_test(&fp->refcnt)) - kfree(fp); + call_rcu_bh(&fp->rcu, sk_filter_release_rcu); } static inline void sk_filter_uncharge(struct sock *sk, struct sk_filter *fp) |