OpenCloudOS-Kernel/net/core
Herbert Xu 6151b31c96 [NET]: Fix race condition in sk_stream_wait_connect
When sk_stream_wait_connect detects a state transition to ESTABLISHED
or CLOSE_WAIT prior to it going to sleep, it will return without
calling finish_wait and decrementing sk_write_pending.

This may result in crashes and other unintended behaviour.

The fix is to always call finish_wait and update sk_write_pending since
it is safe to do so even if the wait entry is no longer on the queue.

This bug was tracked down with the help of Alex Sidorenko and the
fix is also based on his suggestion.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2005-11-05 21:05:20 -02:00
..
Makefile [NETFILTER]: split net/core/netfilter.c into net/netfilter/*.c 2005-08-29 15:51:11 -07:00
datagram.c [NET]: Fix zero-size datagram reception 2005-11-02 22:25:04 -02:00
dev.c [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
dev_mcast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dst.c [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
dv.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethtool.c [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
filter.c [NET]: 2.6.13 breaks libpcap (and tcpdump) 2005-09-05 18:44:37 -07:00
flow.c [NET]: use __read_mostly on kmem_cache_t , DEFINE_SNMP_STAT pointers 2005-08-29 16:11:18 -07:00
gen_estimator.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_stats.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iovec.c [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
link_watch.c [NET]: Disable queueing when carrier is lost. 2005-05-03 16:18:52 -07:00
neighbour.c [NET]: Wider use of for_each_*cpu() 2005-10-25 23:54:01 -02:00
net-sysfs.c [NET]: Allow controlling NAPI device weight with sysfs 2005-06-08 14:55:42 -07:00
netpoll.c [IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl 2005-10-03 14:35:55 -07:00
pktgen.c [PKTGEN]: proc interface revision 2005-10-26 00:12:18 -02:00
request_sock.c [ICSK]: Introduce reqsk_queue_prune from code in tcp_synack_timer 2005-08-29 15:49:29 -07:00
rtnetlink.c [NETLINK]: Add "groups" argument to netlink_kernel_create 2005-08-29 16:01:11 -07:00
scm.c [PATCH] kill gratitious includes of major.h under net/* 2005-04-25 18:32:13 -07:00
skbuff.c [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
sock.c [PATCH] gfp_t: net/* 2005-10-28 08:16:47 -07:00
stream.c [NET]: Fix race condition in sk_stream_wait_connect 2005-11-05 21:05:20 -02:00
sysctl_net_core.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
utils.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
wireless.c [PATCH] kill massive wireless-related log spam 2005-10-26 10:39:43 -07:00