Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / net / netfilter / nf_queue.c
index 662a869..ee8f708 100644 (file)
@@ -1,3 +1,4 @@
+#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/module.h>
@@ -219,20 +220,21 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info,
 
        switch (verdict & NF_VERDICT_MASK) {
        case NF_ACCEPT:
-       case NF_STOP:
                info->okfn(skb);
-       case NF_STOLEN:
                break;
+
        case NF_QUEUE:
                if (!nf_queue(&skb, elem, info->pf, info->hook, 
                              info->indev, info->outdev, info->okfn,
                              verdict >> NF_VERDICT_BITS))
                        goto next_hook;
                break;
-       default:
-               kfree_skb(skb);
        }
        rcu_read_unlock();
+
+       if (verdict == NF_DROP)
+               kfree_skb(skb);
+
        kfree(info);
        return;
 }