linux/net/tipc
Allan Stephens 431697eb60 tipc: Prevent null pointer error when removing a node subscription
Prevents a null pointer dereference from occurring if a node subscription
is triggered at the same time that the subscribing port or publication is
terminating the subscription. The problem arises if the triggering routine
asynchronously activates and deregisters the node subscription while
deregistration is already underway -- the deregistration routine may find
that the pointer it has just verified to be non-NULL is now NULL.
To avoid this race condition the triggering routine now simply marks the
node subscription as defunct (to prevent it from re-activating)
instead of deregistering it. The subscription is now both deregistered
and destroyed only when the subscribing port or publication code terminates
the node subscription.

Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-03-13 16:35:16 -04:00
..
addr.c tipc: Add network address mask helper routines 2011-03-13 16:35:16 -04:00
addr.h tipc: Add network address mask helper routines 2011-03-13 16:35:16 -04:00
bcast.c tipc: Avoid reliable broadcast preparation for NACK messages 2011-02-23 18:05:23 -05:00
bcast.h tipc: Clean up tracking of node requesting a broadcast retransmit 2011-02-23 18:05:12 -05:00
bearer.c tipc: Remove unused message header field for requested number of links 2011-02-23 18:05:22 -05:00
bearer.h tipc: Combine bearer structure with tipc_bearer structure 2011-02-23 18:05:05 -05:00
config.c tipc: cleanup various cosmetic whitespace issues 2011-01-01 13:57:56 -08:00
config.h tipc: Remove obsolete inclusions of header files 2010-12-02 13:34:02 -08:00
core.c tipc: Remove unused global variable tipc_user_count 2011-02-23 18:05:06 -05:00
core.h tipc: Remove unused global variable tipc_user_count 2011-02-23 18:05:06 -05:00
discover.c tipc: Remove unused message header field for requested number of links 2011-02-23 18:05:22 -05:00
discover.h tipc: Remove unused message header field for requested number of links 2011-02-23 18:05:22 -05:00
eth_media.c tipc: remove zeroing assignments to static global variables 2011-01-01 13:57:57 -08:00
handler.c tipc: remove zeroing assignments to static global variables 2011-01-01 13:57:57 -08:00
Kconfig tipc: cleanup various cosmetic whitespace issues 2011-01-01 13:57:56 -08:00
link.c tipc: Add in missing lock during link initialization 2011-02-23 18:05:19 -05:00
link.h tipc: Improve accuracy of link transmit queue maximum size statistic 2011-02-23 18:05:15 -05:00
log.c tipc: Finish streamlining of debugging code 2011-01-01 13:57:54 -08:00
log.h tipc: update log.h re-include protection to reflect new name 2011-01-01 14:56:18 -08:00
Makefile tipc: rename dbg.[ch] to log.[ch] 2011-01-01 13:57:51 -08:00
msg.c tipc: Remove unused message header field for requested number of links 2011-02-23 18:05:22 -05:00
msg.h tipc: Remove unused message header field for requested number of links 2011-02-23 18:05:22 -05:00
name_distr.c tipc: Prevent null pointer error when removing a node subscription 2011-03-13 16:35:16 -04:00
name_distr.h [NET] TIPC: Fix whitespace errors. 2007-02-10 23:20:15 -08:00
name_table.c tipc: remove extraneous braces from single statements 2011-01-01 13:57:57 -08:00
name_table.h tipc: cleanup various cosmetic whitespace issues 2011-01-01 13:57:56 -08:00
net.c tipc: remove redundant #includes 2011-01-01 13:57:54 -08:00
net.h tipc: Remove prototype code for supporting multiple clusters 2011-01-01 13:57:49 -08:00
netlink.c genetlink: make netns aware 2009-07-12 14:03:27 -07:00
node_subscr.c tipc: Remove obsolete inclusions of header files 2010-12-02 13:34:02 -08:00
node_subscr.h tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
node.c tipc: Prevent null pointer error when removing a node subscription 2011-03-13 16:35:16 -04:00
node.h tipc: Remove prototype code for supporting multiple clusters 2011-01-01 13:57:49 -08:00
port.c tipc: Remove support for per-connection message sequence numbering 2011-02-23 18:05:21 -05:00
port.h tipc: Remove support for per-connection message sequence numbering 2011-02-23 18:05:21 -05:00
ref.c tipc: remove zeroing assignments to static global variables 2011-01-01 13:57:57 -08:00
ref.h tipc: cleanup function namespace 2010-10-16 11:13:24 -07:00
socket.c tipc: Allow receiving into iovec containing multiple entries 2011-03-13 16:35:16 -04:00
subscr.c tipc: Minor optimization to topology service connection establishment 2011-02-23 18:05:17 -05:00
subscr.h Revert d88dca79d3 2010-10-21 04:11:08 -07:00