netfilter: xt_hashlimit: fix race between htable_destroy and htable_gc
[linux-2.6.git] / net / netfilter / xt_hashlimit.c
index 6809af5..d9418a2 100644 (file)
@@ -367,9 +367,7 @@ static void htable_gc(unsigned long htlong)
 
 static void htable_destroy(struct xt_hashlimit_htable *hinfo)
 {
-       /* remove timer, if it is pending */
-       if (timer_pending(&hinfo->timer))
-               del_timer(&hinfo->timer);
+       del_timer_sync(&hinfo->timer);
 
        /* remove proc entry */
        remove_proc_entry(hinfo->pde->name,