linux/net/ipv4/ipvs
Neil Horman fb3d89498d [IPVS]: Close race conditions on ip_vs_conn_tab list modification
In an smp system, it is possible for an connection timer to expire, calling
ip_vs_conn_expire while the connection table is being flushed, before
ct_write_lock_bh is acquired.

Since the list iterator loop in ip_vs_con_flush releases and re-acquires the
spinlock (even though it doesn't re-enable softirqs), it is possible for the
expiration function to modify the connection list, while it is being traversed
in ip_vs_conn_flush.

The result is that the next pointer gets set to NULL, and subsequently
dereferenced, resulting in an oops.

Signed-off-by: Neil Horman <nhorman@redhat.com>
Acked-by: JulianAnastasov
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-06-28 15:40:02 -07:00
..
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [IPVS]: remove net/ipv4/ipvs/ip_vs_proto_icmp.c 2005-06-02 13:02:25 -07:00
ip_vs_app.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_conn.c [IPVS]: Close race conditions on ip_vs_conn_tab list modification 2005-06-28 15:40:02 -07:00
ip_vs_core.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_ctl.c [IPVS]: Fix for overflows 2005-06-26 16:00:19 -07:00
ip_vs_dh.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_est.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_ftp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_lblc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_lblcr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_lc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_nq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_proto.c [IPVS]: remove net/ipv4/ipvs/ip_vs_proto_icmp.c 2005-06-02 13:02:25 -07:00
ip_vs_proto_ah.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_proto_esp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_proto_tcp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_proto_udp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_rr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_sched.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_sed.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_sh.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_sync.c [IPVS]: Fix for overflows 2005-06-26 16:00:19 -07:00
ip_vs_wlc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_wrr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs_xmit.c [NETFILTER]: Kill nf_debug 2005-06-21 14:01:57 -07:00