]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] Wait until all references to ip_conntrack_untracked are dropped on unload
authorPatrick McHardy <kaber@trash.net>
Fri, 22 Jul 2005 07:35:51 +0000 (09:35 +0200)
committerChris Wright <chrisw@osdl.org>
Fri, 5 Aug 2005 07:04:20 +0000 (00:04 -0700)
[NETFILTER]: Wait until all references to ip_conntrack_untracked are dropped on unload

Fixes a crash when unloading ip_conntrack.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ipv4/netfilter/ip_conntrack_core.c

index 09e8246229770fa45b438491a3eacff229d1f1a1..d1ac6e8bc2c83ad9695c98728266e13d4650e8d4 100644 (file)
@@ -1124,6 +1124,9 @@ void ip_conntrack_cleanup(void)
                schedule();
                goto i_see_dead_people;
        }
+       /* wait until all references to ip_conntrack_untracked are dropped */
+       while (atomic_read(&ip_conntrack_untracked.ct_general.use) > 1)
+               schedule();
 
        kmem_cache_destroy(ip_conntrack_cachep);
        kmem_cache_destroy(ip_conntrack_expect_cachep);