netfilter: ctnetlink: fix incorrect nf_ct_put during hash resize
[pandora-kernel.git] / net / netfilter / nf_conntrack_netlink.c
index 73db20f..93bb8ae 100644 (file)
@@ -731,8 +731,13 @@ restart:
        }
 out:
        spin_unlock_bh(&nf_conntrack_lock);
-       if (last)
+       if (last) {
+               /* nf ct hash resize happened, now clear the leftover. */
+               if ((struct nf_conn *)cb->args[1] == last)
+                       cb->args[1] = 0;
+
                nf_ct_put(last);
+       }
 
        return skb->len;
 }