kernel: fix breakage in the 4.3 version of 611-netfilter_match_bypass_default_table...
authorFelix Fietkau <nbd@openwrt.org>
Tue, 10 Nov 2015 21:11:25 +0000 (21:11 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 10 Nov 2015 21:11:25 +0000 (21:11 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 47447

target/linux/generic/patches-4.3/611-netfilter_match_bypass_default_table.patch

index c43851904acaff00a3b51a229d273337d74e92e1..38f13501300b5a7cfb2a64d3a1a22f10898e981c 100644 (file)
        private = table->private;
        cpu        = smp_processor_id();
        /*
-@@ -357,6 +365,20 @@ ipt_do_table(struct sk_buff *skb,
+@@ -357,6 +365,23 @@ ipt_do_table(struct sk_buff *skb,
         */
        smp_read_barrier_depends();
        table_base = private->entries;
 +
 +      e = get_entry(table_base, private->hook_entry[hook]);
 +      if (ipt_handle_default_rule(e, &verdict)) {
-+              ADD_COUNTER(e->counters, skb->len, 1);
++              struct xt_counters *counter;
++
++              counter = xt_get_this_cpu_counter(&e->counters);
++              ADD_COUNTER(*counter, skb->len, 1);
 +              local_bh_enable();
 +              return verdict;
 +      }
@@ -83,7 +86,7 @@
        jumpstack  = (struct ipt_entry **)private->jumpstack[cpu];
  
        /* Switch to alternate jumpstack if we're being invoked via TEE.
-@@ -369,7 +391,19 @@ ipt_do_table(struct sk_buff *skb,
+@@ -369,7 +394,19 @@ ipt_do_table(struct sk_buff *skb,
        if (static_key_false(&xt_tee_enabled))
                jumpstack += private->stacksize * __this_cpu_read(nf_skb_duplicated);