]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - include/net/ip_vs.h
netfilter: reduce direct skb->nfct usage
[mirror_ubuntu-artful-kernel.git] / include / net / ip_vs.h
index cd6018a9ee2467cec1fbe4d621fc294bc843a05e..2a344ebd7ebe7b49f287a243dec59cddacfe75f2 100644 (file)
@@ -1554,10 +1554,13 @@ static inline void ip_vs_notrack(struct sk_buff *skb)
        struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
 
        if (!ct || !nf_ct_is_untracked(ct)) {
-               nf_conntrack_put(skb->nfct);
-               skb->nfct = &nf_ct_untracked_get()->ct_general;
+               struct nf_conn *untracked;
+
+               nf_conntrack_put(&ct->ct_general);
+               untracked = nf_ct_untracked_get();
+               nf_conntrack_get(&untracked->ct_general);
+               skb->nfct = &untracked->ct_general;
                skb->nfctinfo = IP_CT_NEW;
-               nf_conntrack_get(skb->nfct);
        }
 #endif
 }