kernel_optimize_test/include/net
Eric Dumazet 46bcf14f44 filter: fix sk_filter rcu handling
Pavel Emelyanov tried to fix a race between sk_filter_(de|at)tach and
sk_clone() in commit 47e958eac2

Problem is we can have several clones sharing a common sk_filter, and
these clones might want to sk_filter_attach() their own filters at the
same time, and can overwrite old_filter->rcu, corrupting RCU queues.

We can not use filter->rcu without being sure no other thread could do
the same thing.

Switch code to a more conventional ref-counting technique : Do the
atomic decrement immediately and queue one rcu call back when last
reference is released.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-12-06 09:29:43 -08:00
..
9p 9p: Add datasync to client side TFSYNC/RFSYNC for dotl 2010-10-28 09:08:49 -05:00
bluetooth Bluetooth: clean up rfcomm code 2010-10-12 12:44:53 -03:00
caif caif: SPI-driver bugfix - incorrect padding. 2010-11-03 18:50:03 -07:00
irda
iucv
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-10-23 11:47:02 -07:00
netns netns: reorder fields in struct net 2010-10-17 13:49:14 -07:00
phonet Phonet: 'connect' socket implementation for Pipe controller 2010-10-13 14:40:34 -07:00
sctp
tc_act
tipc tipc: cleanup function namespace 2010-10-16 11:13:24 -07:00
act_api.h
addrconf.h
af_ieee802154.h
af_rxrpc.h
af_unix.h af_unix: limit recursion level 2010-11-29 09:45:15 -08:00
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
cfg80211.h cfg80211: fix WIPHY_FLAG_IBSS_RSN bit 2010-11-15 15:00:42 -05:00
checksum.h
cipso_ipv4.h
cls_cgroup.h
compat.h
datalink.h
dcbnl.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dn.h net: avoid limits overflow 2010-11-10 12:12:00 -08:00
dsa.h
dsfield.h
dst_ops.h b43legacy: Fix compile on ARM architecture 2010-11-15 15:00:42 -05:00
dst.h ipv4: add __rcu annotations to routes.c 2010-10-27 11:37:31 -07:00
esp.h
ethoc.h
fib_rules.h fib_rules: __rcu annotates ctarget 2010-10-27 11:37:32 -07:00
flow.h
garp.h net/802: add __rcu annotations 2010-10-25 13:09:44 -07:00
gen_stats.h
genetlink.h
gre.h
icmp.h
ieee80211_radiotap.h
ieee802154_netdev.h
ieee802154.h
if_inet6.h
inet_common.h
inet_connection_sock.h
inet_ecn.h
inet_frag.h
inet_hashtables.h tproxy: fix hash locking issue when using port redirection in __inet_inherit_port() 2010-10-21 13:06:43 +02:00
inet_sock.h
inet_timewait_sock.h
inet6_connection_sock.h
inet6_hashtables.h
inetpeer.h inetpeer: __rcu annotations 2010-10-27 11:37:33 -07:00
ip_fib.h fib: Fix fib zone and its hash leak on namespace stop 2010-10-28 10:27:03 -07:00
ip_vs.h ipvs: provide address family for debugging 2010-10-21 11:04:43 +02:00
ip.h ipv4: add __rcu annotations to ip_ra_chain 2010-10-25 14:18:28 -07:00
ip6_checksum.h
ip6_fib.h
ip6_route.h
ip6_tunnel.h tunnels: add _rcu annotations 2010-10-25 13:09:45 -07:00
ipcomp.h
ipconfig.h
ipip.h tunnels: add __rcu annotations 2010-10-27 11:37:32 -07:00
ipv6.h
ipx.h
iw_handler.h
lapb.h
lib80211.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
llc.h
mac80211.h mac80211: add probe request filter flag 2010-10-13 15:45:22 -04:00
mip6.h
mld.h
ndisc.h
neighbour.h net: Fix duplicate volatile warning. 2010-11-18 09:40:04 -08:00
net_namespace.h net_ns: add __rcu annotations 2010-10-25 14:18:27 -07:00
netdma.h
netevent.h
netlabel.h
netlink.h netlink: Make nlmsg_find_attr take a const nlmsghdr*. 2010-11-04 12:26:34 -07:00
netrom.h
nexthop.h
nl802154.h
p8022.h
pkt_cls.h
pkt_sched.h
protocol.h net: add __rcu annotations to protocol 2010-10-27 11:37:31 -07:00
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h
rose.h
route.h
rtnetlink.h rtnetlink: remove rtnl_kill_links 2010-10-21 03:09:45 -07:00
sch_generic.h net_sched: remove the unused parameter of qdisc_create_dflt() 2010-10-21 03:09:47 -07:00
scm.h
slhc_vj.h
snmp.h
sock.h filter: fix sk_filter rcu handling 2010-12-06 09:29:43 -08:00
stp.h
tcp_states.h
tcp.h net: avoid limits overflow 2010-11-10 12:12:00 -08:00
timewait_sock.h
transp_v6.h
udp.h net: avoid limits overflow 2010-11-10 12:12:00 -08:00
udplite.h
wext.h
wimax.h
wpan-phy.h
x25.h
x25device.h
xfrm.h tunnels: add __rcu annotations 2010-10-27 11:37:32 -07:00