linux/net
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
..
802 [TR]: Preserve RIF flag even for 2 byte RIF fields. 2005-10-25 21:31:38 -02:00
8021q [8021Q]: Add endian annotations. 2005-09-19 15:41:28 -07:00
appletalk [APPLETALK]: Fix broadcast bug. 2005-09-27 16:11:29 -07:00
atm [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
ax25 [AX.25]: Fix packet socket crash 2005-10-05 12:16:04 -07:00
bluetooth [PATCH] bluetooth hidp is broken on s390 2005-10-29 10:35:08 -07:00
bridge [BRIDGE]: Use ether_compare 2005-10-31 16:34:10 -02:00
core [NET]: Fix race condition in sk_stream_wait_connect 2005-11-05 21:05:20 -02:00
dccp [DCCP]: Set socket owner iff packet is not data 2005-10-31 22:30:02 -02:00
decnet [DECNET]: Remove some redundant ifdeffed code 2005-10-25 23:49:29 -02:00
econet [IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl 2005-10-03 14:35:55 -07:00
ethernet [ETH]: ether address compare 2005-10-29 02:23:58 -02:00
ieee80211 [PATCH] ieee80211 build fix 2005-10-26 00:54:23 -04:00
ipv4 [NETFILTER]: CONNMARK target needs ip_conntrack 2005-11-05 16:39:20 -02:00
ipv6 [IPV6]: inet6_ifinfo_notify should use RTM_DELLINK in addrconf_ifdown 2005-11-03 01:03:05 -02:00
ipx [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
irda [IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl 2005-10-03 14:35:55 -07:00
key [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
lapb [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
llc [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
netfilter [NETFILTER] nf_queue: Fix Ooops when no queue handler registered 2005-11-05 16:43:29 -02:00
netlink Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6.15 2005-10-28 08:50:37 -07:00
netrom [AX.25]: Fix packet socket crash 2005-10-05 12:16:04 -07:00
packet [NET]: Fix packet timestamping. 2005-10-03 13:57:23 -07:00
rose [ROSE]: rose_heartbeat_expiry() locking fix 2005-10-31 16:41:45 -02:00
rxrpc [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
sched [NETEM]: Add version string 2005-11-05 20:59:21 -02:00
sctp Merge master.kernel.org:/pub/scm/linux/kernel/git/sridhar/lksctp-2.6 2005-10-28 23:35:02 -02:00
sunrpc NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled 2005-11-04 15:39:48 -05:00
unix [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
wanrouter [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
x25 [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
xfrm [IPSEC]: Kill obsolete get_mss function 2005-10-26 00:48:45 -02:00
Kconfig [NETFILTER] move nfnetlink options to right location in kconfig menu 2005-09-17 00:41:21 -07:00
Makefile /spare/repo/netdev-2.6 branch 'master' 2005-09-01 18:02:01 -04:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.c [PATCH] Fix 32bit sendmsg() flaw 2005-09-08 08:14:11 -07:00
nonet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.c [NET]: Fix module reference counts for loadable protocol modules 2005-09-27 15:23:38 -07:00
sysctl_net.c [NET]: Fix "sysctl_net.c:36: error: 'core_table' undeclared here" 2005-10-03 14:16:34 -07:00