bridge: vlan: use rcu list for the ordered vlan list
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Fri, 2 Oct 2015 13:05:10 +0000 (15:05 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Oct 2015 23:43:47 +0000 (16:43 -0700)
commit586c2b573ee4c2c4ba03e16318a16614ebf876f8
tree8b59c375f2861840765f7915987ecf9e15e85bdf
parente96f78ab2703f3b0d512f6b469bc685d2ef20475
bridge: vlan: use rcu list for the ordered vlan list

When I did the conversion to rhashtable I missed the required locking of
one important user of the vlan list - br_get_link_af_size_filtered()
which is called:
br_ifinfo_notify() -> br_nlmsg_size() -> br_get_link_af_size_filtered()
and the notifications can be sent without holding rtnl. Before this
conversion the function relied on using rcu and since we already use rcu to
destroy the vlans, we can simply migrate the list to use the rcu helpers.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netlink.c
net/bridge/br_vlan.c