sctp: Add RCU protection to assoc->transport_addr_list
authorThomas Graf <tgraf@suug.ch>
Thu, 6 Dec 2012 09:25:05 +0000 (09:25 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 7 Dec 2012 19:15:04 +0000 (14:15 -0500)
commit45122ca26ced7fae41049326a3797a73f961db2e
tree347843ccf9b6a9eb9a4507e07b4c19faf0e59f70
parent0b0fe913bf6d551642eb8892ed90be7358906379
sctp: Add RCU protection to assoc->transport_addr_list

peer.transport_addr_list is currently only protected by sk_sock
which is inpractical to acquire for procfs dumping purposes.

This patch adds RCU protection allowing for the procfs readers to
enter RCU read-side critical sections.

Modification of the list continues to be serialized via sk_lock.

V2: Use list_del_rcu() in sctp_association_free() to be safe
    Skip transports marked dead when dumping for procfs

Cc: Vlad Yasevich <vyasevich@gmail.com>
Cc: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
net/sctp/associola.c
net/sctp/proc.c
net/sctp/transport.c