forked from luck/tmp_suning_uos_patched
8021q: Vlan driver should use rcu_barrier() on unload instead of syncronize_net()
The VLAN 8021q driver needs to call rcu_barrier() when unloading the module, instead of syncronize_net(). This is needed to make sure that outstanding call_rcu() callbacks have completed, before the callback function code is removed on module unload. Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk> Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1abb0de2f8
commit
6e327c11a9
|
@ -758,7 +758,7 @@ static void __exit vlan_cleanup_module(void)
|
|||
BUG_ON(!hlist_empty(&vlan_group_hash[i]));
|
||||
|
||||
unregister_pernet_gen_device(vlan_net_id, &vlan_net_ops);
|
||||
synchronize_net();
|
||||
rcu_barrier(); /* Wait for completion of call_rcu()'s */
|
||||
|
||||
vlan_gvrp_uninit();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user