netfilter: nfqueue: don't use prev pointer
[firefly-linux-kernel-4.4.55.git] / net / netfilter / nf_queue.c
index 34f628e16a4cf7e460342311cbdbf579199c158b..634d18e6ab2c42a99d2564737a5f98c6c51066fe 100644 (file)
@@ -192,10 +192,8 @@ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
        nf_queue_entry_release_refs(entry);
 
        /* Continue traversal iff userspace said ok... */
-       if (verdict == NF_REPEAT) {
-               elem = list_entry(elem->list.prev, struct nf_hook_ops, list);
-               verdict = NF_ACCEPT;
-       }
+       if (verdict == NF_REPEAT)
+               verdict = elem->hook(elem->priv, skb, &entry->state);
 
        if (verdict == NF_ACCEPT) {
                afinfo = nf_get_afinfo(entry->state.pf);