linux/include/net
Pablo Neira Ayuso ae2d708ed8 netfilter: conntrack: fix crash on timeout object removal
The object and module refcounts are updated for each conntrack template,
however, if we delete the iptables rules and we flush the timeout
database, we may end up with invalid references to timeout object that
are just gone.

Resolve this problem by setting the timeout reference to NULL when the
custom timeout entry is removed from our base. This patch requires some
RCU trickery to ensure safe pointer handling.

This handling is similar to what we already do with conntrack helpers,
the idea is to avoid bumping the timeout object reference counter from
the packet path to avoid the cost of atomic ops.

Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2015-10-12 17:04:34 +02:00
..
9p
bluetooth Bluetooth: Add BT_ERR_RATELIMITED 2015-09-18 09:53:19 +02:00
caif
irda
iucv s390/iucv: do not use arrays as argument 2015-09-21 16:03:04 -07:00
netfilter netfilter: conntrack: fix crash on timeout object removal 2015-10-12 17:04:34 +02:00
netns
nfc
phonet
sctp
tc_act act_connmark: Remember the struct net instead of guessing it. 2015-09-18 21:59:31 +02:00
6lowpan.h ieee802154: 6lowpan: remove tx full-size calc workaround 2015-09-17 13:20:04 +02:00
act_api.h net_sched: make tcf_hash_destroy() static 2015-08-26 11:01:44 -07:00
addrconf.h ipv6: remove unused neigh parameter from ndisc functions 2015-09-24 12:26:08 -07:00
af_ieee802154.h ieee802154: af_ieee802154: fix typo in comment. 2015-09-17 13:20:05 +02:00
af_rxrpc.h
af_unix.h af_unix: Convert the unix_sk macro to an inline function for type safety 2015-09-29 13:47:07 -07:00
af_vsock.h
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h net/bonding: Export bond_option_active_slave_get_rcu 2015-08-30 18:08:50 -04:00
busy_poll.h
cfg80211-wext.h
cfg80211.h
cfg802154.h
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
dn_dev.h
dn_fib.h
dn_neigh.h netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
dn_nsp.h
dn_route.h
dn.h
dsa.h
dsfield.h
dst_metadata.h tun_dst: Remove opts_size 2015-08-31 21:23:42 -07:00
dst_ops.h
dst.h inet: constify ip_route_output_flow() socket argument 2015-09-25 13:00:37 -07:00
esp.h
ethoc.h net/ethoc: support big-endian register layout 2015-09-23 15:33:15 -07:00
fib_rules.h net: ipv6: use common fib_default_rule_pref 2015-09-09 14:19:50 -07:00
firewire.h
flow_dissector.h flow_dissector: Don't use bit fields. 2015-09-01 16:46:08 -07:00
flow.h net: Fix vti use case with oif in dst lookups 2015-09-17 16:36:34 -07:00
flowcache.h
fou.h
garp.h
gen_stats.h
genetlink.h genetlink: simplify genl_notify 2015-09-24 12:25:23 -07:00
geneve.h geneve: Consolidate Geneve functionality in single module. 2015-08-27 15:42:48 -07:00
gre.h
gro_cells.h gro_cells: remove spinlock protecting receive queues 2015-08-31 15:17:17 -07:00
gue.h
icmp.h
ieee80211_radiotap.h
ieee802154_netdev.h
if_inet6.h
inet_common.h
inet_connection_sock.h tcp: remove max_qlen_log 2015-10-03 04:32:44 -07:00
inet_ecn.h
inet_frag.h
inet_hashtables.h tcp/dccp: install syn_recv requests into ehash table 2015-10-03 04:32:41 -07:00
inet_sock.h
inet_timewait_sock.h tcp/dccp: fix timewait races in timer handling 2015-09-21 16:32:29 -07:00
inet6_connection_sock.h ipv6: remove obsolete inet6 functions 2015-10-03 04:32:42 -07:00
inet6_hashtables.h
inetpeer.h net: Add support for VRFs to inetpeer cache 2015-08-28 13:32:36 -07:00
ip_fib.h net: Fix behaviour of unreachable, blackhole and prohibit routes 2015-09-20 21:45:08 -07:00
ip_tunnels.h ipv4: send arp replies to the correct tunnel 2015-09-24 14:31:36 -07:00
ip_vs.h ipvs: Remove skb_sknet 2015-09-24 09:34:43 +09:00
ip.h ip: constify ip_build_and_send_pkt() socket argument 2015-09-25 13:00:38 -07:00
ip6_checksum.h
ip6_fib.h ipv6: include NLM_F_REPLACE in route replace notifications 2015-09-17 15:00:27 -07:00
ip6_route.h
ip6_tunnel.h ip6tunnel: make rx/tx bytes counters consistent 2015-09-20 22:36:42 -07:00
ipcomp.h
ipconfig.h
ipv6.h ipv6: constify ip6_xmit() sock argument 2015-09-25 13:00:38 -07:00
ipx.h
iw_handler.h
l3mdev.h net: Move netif_index_is_l3_master to l3mdev.h 2015-09-29 20:40:34 -07:00
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
lwtunnel.h lwt: Add cfg argument to build_state 2015-08-24 10:34:40 -07:00
mac80211.h mac80211: protect non-HT BSS when HT TDLS traffic exists 2015-09-04 14:25:46 +02:00
mac802154.h ieee802154: 6lowpan: check on valid 802.15.4 frame 2015-09-17 13:20:04 +02:00
mip6.h
mld.h
mpls_iptunnel.h
mpls.h
mrp.h
ndisc.h ipv6: remove unused neigh parameter from ndisc functions 2015-09-24 12:26:08 -07:00
neighbour.h
net_namespace.h
net_ratelimit.h
netevent.h
netlabel.h
netlink.h
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
pkt_cls.h
pkt_sched.h net: sched: consolidate tc_classify{,_compat} 2015-08-27 14:18:48 -07:00
protocol.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h tcp/dccp: add SLAB_DESTROY_BY_RCU flag for request sockets 2015-10-03 13:25:20 -07:00
rose.h
route.h net: Move netif_index_is_l3_master to l3mdev.h 2015-09-29 20:40:34 -07:00
rtnetlink.h rtnetlink: RTEXT_FILTER_SKIP_STATS support to avoid dumping inet/inet6 stats 2015-09-15 15:25:02 -07:00
sch_generic.h bpf: add bpf_redirect() helper 2015-09-17 21:09:07 -07:00
scm.h
secure_seq.h
slhc_vj.h
snmp.h
sock.h net: constify sk_gfp_atomic() sock argument 2015-09-29 16:53:08 -07:00
Space.h
stp.h
switchdev.h switchdev: push object ID back to object structure 2015-10-03 04:49:40 -07:00
tcp_memcontrol.h
tcp_states.h
tcp.h tcp: attach SYNACK messages to request sockets instead of listener 2015-10-03 04:32:43 -07:00
timewait_sock.h
transp_v6.h
tso.h
udp_tunnel.h vxlan: do not receive IPv4 packets on IPv6 socket 2015-08-29 13:07:54 -07:00
udp.h
udplite.h
vsock_addr.h
vxlan.h vxlan: support both IPv4 and IPv6 sockets in a single vxlan device 2015-09-26 22:40:55 -07:00
wext.h
wimax.h
x25.h
x25device.h
xfrm.h xfrm: Remove unused afinfo method init_dst 2015-09-17 17:18:32 -07:00