ipv6: Use rcu_barrier() on module unload.
authorJesper Dangaard Brouer <hawk@comx.dk>
Fri, 26 Jun 2009 10:46:03 +0000 (10:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Jun 2009 20:51:31 +0000 (13:51 -0700)
The ipv6 module uses rcu_call() thus it should use rcu_barrier() on
module unload.

Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/af_inet6.c

index 85b3d0036afdeff08efc32d1179dbabf7a58f9b3..caa0278d30a9dbedb6ca0dc172144c7992e2e485 100644 (file)
@@ -1284,6 +1284,8 @@ static void __exit inet6_exit(void)
        proto_unregister(&udplitev6_prot);
        proto_unregister(&udpv6_prot);
        proto_unregister(&tcpv6_prot);
+
+       rcu_barrier(); /* Wait for completion of call_rcu()'s */
 }
 module_exit(inet6_exit);