diff options
author | David S. Miller <davem@davemloft.net> | 2010-12-08 16:15:38 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-08 16:47:38 -0500 |
commit | fe6c791570efe717946ea7b7dd50aec96b70d551 (patch) | |
tree | 1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434 /include/net/sock.h | |
parent | f8bf5681cf15f77692c8ad8cb95d059ff7c622c9 (diff) | |
parent | f19872575ff7819a3723154657a497d9bca66b33 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
net/llc/af_llc.c
Diffstat (limited to 'include/net/sock.h')
-rw-r--r-- | include/net/sock.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 717cfbf649df..3482004e5c29 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1159,6 +1159,8 @@ extern void sk_common_release(struct sock *sk); | |||
1159 | /* Initialise core socket variables */ | 1159 | /* Initialise core socket variables */ |
1160 | extern void sock_init_data(struct socket *sock, struct sock *sk); | 1160 | extern void sock_init_data(struct socket *sock, struct sock *sk); |
1161 | 1161 | ||
1162 | extern void sk_filter_release_rcu(struct rcu_head *rcu); | ||
1163 | |||
1162 | /** | 1164 | /** |
1163 | * sk_filter_release - release a socket filter | 1165 | * sk_filter_release - release a socket filter |
1164 | * @fp: filter to remove | 1166 | * @fp: filter to remove |
@@ -1169,7 +1171,7 @@ extern void sock_init_data(struct socket *sock, struct sock *sk); | |||
1169 | static inline void sk_filter_release(struct sk_filter *fp) | 1171 | static inline void sk_filter_release(struct sk_filter *fp) |
1170 | { | 1172 | { |
1171 | if (atomic_dec_and_test(&fp->refcnt)) | 1173 | if (atomic_dec_and_test(&fp->refcnt)) |
1172 | kfree(fp); | 1174 | call_rcu_bh(&fp->rcu, sk_filter_release_rcu); |
1173 | } | 1175 | } |
1174 | 1176 | ||
1175 | static inline void sk_filter_uncharge(struct sock *sk, struct sk_filter *fp) | 1177 | static inline void sk_filter_uncharge(struct sock *sk, struct sk_filter *fp) |