linux/net/tipc
Ying Xue 00ede97709 tipc: protect handler_enabled variable with qitem_lock spin lock
'handler_enabled' is a global flag indicating whether the TIPC
signal handling service is enabled or not. The lack of lock
protection for this flag incurs a risk for contention, so that
a tipc_k_signal() call might queue a signal handler to a destroyed
signal queue, with unpredictable results. To correct this, we let
the already existing 'qitem_lock' protect the flag, as it already
does with the queue itself. This way, we ensure that the flag
always is consistent across all cores.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Reviewed-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-12-10 22:35:49 -05:00
..
Kconfig
Makefile
addr.c
addr.h
bcast.c tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
bcast.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
bearer.c tipc: avoid unnecessary lookup for tipc bearer instance 2013-10-18 13:20:43 -04:00
bearer.h tipc: avoid unnecessary lookup for tipc bearer instance 2013-10-18 13:20:43 -04:00
config.c
config.h
core.c tipc: correct the order of stopping services at rmmod 2013-12-10 22:35:49 -05:00
core.h net: misc: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
discover.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
discover.h
eth_media.c tipc: correct return value of recv_msg routine 2013-10-18 13:20:43 -04:00
handler.c tipc: protect handler_enabled variable with qitem_lock spin lock 2013-12-10 22:35:49 -05:00
ib_media.c tipc: correct return value of recv_msg routine 2013-10-18 13:20:43 -04:00
link.c tipc: fix dereference before check warning 2013-11-15 03:11:06 -05:00
link.h tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
log.c
msg.c tipc: remove iovec length parameter from all sending functions 2013-10-18 13:20:42 -04:00
msg.h tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
name_distr.c
name_distr.h
name_table.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
name_table.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
net.c
net.h
netlink.c genetlink: only pass array to genl_register_family_with_ops() 2013-11-19 16:39:05 -05:00
node.c tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
node.h tipc: message reassembly using fragment chain 2013-11-07 18:30:11 -05:00
node_subscr.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
node_subscr.h
port.c tipc: remove iovec length parameter from all sending functions 2013-10-18 13:20:42 -04:00
port.h tipc: remove iovec length parameter from all sending functions 2013-10-18 13:20:42 -04:00
ref.c
ref.h
server.c tipc: fix oops when creating server socket fails 2013-08-01 15:54:33 -07:00
server.h
socket.c net: rework recvmsg handler msg_name and msg_namelen logic 2013-11-20 21:52:30 -05:00
subscr.c tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
subscr.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
sysctl.c