From: Jesper Dangaard Brouer Date: Mon, 8 Jun 2009 03:11:43 +0000 (+0000) Subject: sctp: protocol.c call rcu_barrier() on unload. X-Git-Tag: v2.6.31-rc1~14^2~144 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eaa184a1a1cda3991420c47bc960ddea6cbacff2;p=platform%2Fkernel%2Flinux-3.10.git sctp: protocol.c call rcu_barrier() on unload. On module unload call rcu_barrier(), this is needed as synchronize_rcu() is not strong enough. The kmem_cache_destroy() does invoke synchronize_rcu() but it does not provide same protection. Signed-off-by: Jesper Dangaard Brouer Acked-by: Vlad Yasevich Signed-off-by: David S. Miller --- diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c index cb2c50d..79cbd47 100644 --- a/net/sctp/protocol.c +++ b/net/sctp/protocol.c @@ -1370,6 +1370,8 @@ SCTP_STATIC __exit void sctp_exit(void) sctp_proc_exit(); cleanup_sctp_mibs(); + rcu_barrier(); /* Wait for completion of call_rcu()'s */ + kmem_cache_destroy(sctp_chunk_cachep); kmem_cache_destroy(sctp_bucket_cachep); }