diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-12-22 04:56:10 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-12-22 04:56:10 +0100 |
commit | 7ccbefe07ea0a3570e44d1ec13a307552ee4dadd (patch) | |
tree | ba0299694a9f3940f289b6a29cadab853906e3d2 /include/net/sock.h | |
parent | fbdev: Modify vsync timing calculation in wm8505fb (diff) | |
parent | Linux 2.6.37-rc7 (diff) | |
download | linux-7ccbefe07ea0a3570e44d1ec13a307552ee4dadd.tar.xz linux-7ccbefe07ea0a3570e44d1ec13a307552ee4dadd.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
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 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) |