linux/net/tipc
Allan Stephens 2da59918e2 tipc: Fix race condition that could cause accept() to fail
This patch ensurs that accept() returns successfully even when
the newly created socket is immediately disconnected by its peer.
Previously, accept() would fail if it was unable to pass back
the optional address info for the socket's peer before the
socket became disconnected; TIPC now allows accept() to gather
peer address information after disconnection.  As a bonus, the
revised code accesses the socket's port more efficiently, without
the overhead incurred by a reference table lookup.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-07-14 22:43:32 -07:00
..
addr.c [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
addr.h [TIPC]: Kill unused static inline (x5) 2008-02-07 18:17:13 -08:00
bcast.c tipc: Message rejection rework preparatory changes 2008-06-04 17:54:48 -07:00
bcast.h [TIPC]: Kill unused static inline (x5) 2008-02-07 18:17:13 -08:00
bearer.c [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
bearer.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
cluster.c tipc: Optimize message initialization routine 2008-06-04 17:37:34 -07:00
cluster.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
config.c tipc: Fix initialization sequence problems when entering network mode 2008-05-21 14:55:04 -07:00
config.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
core.c tipc: Fix initialization sequence problems when entering network mode 2008-05-21 14:55:04 -07:00
core.h tipc: Fix initialization sequence problems when entering network mode 2008-05-21 14:55:04 -07:00
dbg.c tipc: Exclude debug-only print buffer code when not debugging 2008-05-05 01:24:06 -07:00
dbg.h tipc: Elimination of print buffer chaining 2008-05-05 01:22:30 -07:00
discover.c tipc: Message rejection rework preparatory changes 2008-06-04 17:54:48 -07:00
discover.h tipc: Minor optimizations to received message processing 2008-06-04 17:32:35 -07:00
eth_media.c [NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. 2008-03-26 04:39:53 +09:00
handler.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
Kconfig [TIPC]: Use menuconfig objects. 2007-05-24 16:36:50 -07:00
link.c tipc: Optimize message initialization routine 2008-06-04 17:37:34 -07:00
link.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
Makefile [TIPC] Initial merge 2006-01-12 14:06:31 -08:00
msg.c tipc: Fix bugs in message error code display when debugging 2008-06-04 17:29:09 -07:00
msg.h tipc: Message rejection rework preparatory changes 2008-06-04 17:54:48 -07:00
name_distr.c tipc: Optimize message initialization routine 2008-06-04 17:37:34 -07:00
name_distr.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
name_table.c tipc: Add missing spinlock in name table display code 2008-06-04 17:38:22 -07:00
name_table.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
net.c tipc: Fix initialization sequence problems when entering network mode 2008-05-21 14:55:04 -07:00
net.h tipc: Fix initialization sequence problems when entering network mode 2008-05-21 14:55:04 -07:00
netlink.c tipc: Fix skb_under_panic when configuring TIPC without privileges 2008-05-21 14:52:30 -07:00
node_subscr.c [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
node_subscr.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
node.c tipc: Prevent node object duplication due to simultaneous discovery 2008-05-21 14:53:00 -07:00
node.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
port.c tipc: Remove unneeded parameter to tipc_createport_raw() 2008-07-14 22:42:19 -07:00
port.h [TIPC]: Optimize stream send routine to avoid fragmentation 2007-07-10 22:06:12 -07:00
ref.c tipc: Fix race condition when creating socket or native port 2008-05-12 15:42:28 -07:00
ref.h [TIPC]: Remove inlining of reference table locking routines 2008-04-16 18:21:16 -07:00
socket.c tipc: Fix race condition that could cause accept() to fail 2008-07-14 22:43:32 -07:00
subscr.c tipc: Cosmetic cleanup of topology service code 2008-05-19 13:30:13 -07:00
subscr.h tipc: Cosmetic cleanup of topology service code 2008-05-19 13:30:13 -07:00
user_reg.c [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
user_reg.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
zone.c tipc: fix integer as NULL pointer sparse warnings in tipc 2008-02-24 18:38:31 -08:00
zone.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00