decnet: Use rcu_barrier() on module unload.
authorJesper Dangaard Brouer <hawk@comx.dk>
Fri, 26 Jun 2009 10:46:08 +0000 (10:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Jun 2009 20:51:27 +0000 (13:51 -0700)
The decnet module unloading as been disabled with a '#if 0' statement,
because it have had issues.

We add a rcu_barrier() anyhow for correctness.

The maintainer (Chrissie Caulfield) will look into the unload issue
when time permits.

Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Chrissie Caulfield <christine.caulfield@googlemail.com>
Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/decnet/af_decnet.c

index d351b8db0df5ceac6f6c566bb82cb9a700d78d2a..77d40289653cf0e739e5893e0e053c2145d6156a 100644 (file)
@@ -2413,6 +2413,8 @@ static void __exit decnet_exit(void)
        proc_net_remove(&init_net, "decnet");
 
        proto_unregister(&dn_proto);
+
+       rcu_barrier_bh(); /* Wait for completion of call_rcu_bh()'s */
 }
 module_exit(decnet_exit);
 #endif