From: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Hi, Patch 01 converts the vlgrp member to use rcu as it was already used in a similar way so better to make it official and use all the available RCU instrumentation. Patch 02 fixes a bug where the vlan_list can be traversed without rtnl or rcu held which could lead to using freed entries. I'm not intializing vlgrp to null before kfree_rcu because Ido has a patch for that which fixes a warning from kasan. Patch 03 fixes a bug reported by Ido Schimmel about the vlan_flush order and switchdevs, and patch 04 refactors (br|nbp)_vlan_flush and combines them into a single function. Thank you, Nik Nikolay Aleksandrov (4): bridge: vlan: use proper rcu for the vlgrp member bridge: vlan: use rcu for vlan_list traversal in br_fill_ifinfo bridge: vlan: break vlan_flush in two phases to keep old order bridge: vlan: combine (br|nbp)_vlan_flush into one net/bridge/br_device.c | 2 +- net/bridge/br_forward.c | 6 +-- net/bridge/br_if.c | 13 +++-- net/bridge/br_input.c | 4 +- net/bridge/br_netlink.c | 25 ++++++---- net/bridge/br_private.h | 43 ++++++++++++----- net/bridge/br_vlan.c | 124 +++++++++++++++++++++++++++--------------------- 7 files changed, 132 insertions(+), 85 deletions(-) -- 2.4.3