refresh 2.6.30 patches
[openwrt-10.03/.git] / target / linux / generic-2.6 / patches-2.6.30 / 110-netfilter_match_speedup.patch
index 926966ced01ce381a1b31200956bf8c7e8ef5c29..e75d7aaee405dd5b93dd7bd58ca061a10f80aee8 100644 (file)
  
                e = (struct ipt_entry *)(loc_cpu_entry + off);
                if (copy_to_user(userptr + off
-@@ -986,6 +1026,14 @@ copy_entries_to_user(unsigned int total_
+@@ -985,6 +1025,14 @@ copy_entries_to_user(unsigned int total_
+                       ret = -EFAULT;
                        goto free_counters;
                }
++
 +              flags = e->ip.flags & ~IPT_F_NO_DEF_MATCH;
 +              if (copy_to_user(userptr + off
 +                               + offsetof(struct ipt_entry, ip.flags),
 +                      ret = -EFAULT;
 +                      goto free_counters;
 +              }
-+
                for (i = sizeof(struct ipt_entry);
                     i < e->target_offset;
-                    i += m->u.match_size) {