X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e60c0328f00278865338525f5ad9abeb0785ca5f..a3978a4a410391558c991944340bcf6941c9c916:/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch?ds=sidebyside diff --git a/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch b/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch index 7affbb122..b146502f0 100644 --- a/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch +++ b/target/linux/generic/patches-2.6.36/110-netfilter_match_speedup.patch @@ -124,7 +124,7 @@ pr_debug("Entering %s(hook %u); sp at %u (UF %p)\n", table->name, hook, origptr, get_entry(table_base, private->underflow[hook])); -@@ -970,6 +1010,7 @@ copy_entries_to_user(unsigned int total_ +@@ -974,6 +1014,7 @@ copy_entries_to_user(unsigned int total_ unsigned int i; const struct ipt_entry_match *m; const struct ipt_entry_target *t; @@ -132,10 +132,11 @@ e = (struct ipt_entry *)(loc_cpu_entry + off); if (copy_to_user(userptr + off -@@ -980,6 +1021,14 @@ copy_entries_to_user(unsigned int total_ +@@ -983,6 +1024,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), @@ -143,7 +144,6 @@ + ret = -EFAULT; + goto free_counters; + } -+ + for (i = sizeof(struct ipt_entry); i < e->target_offset; - i += m->u.match_size) {