aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch')
-rw-r--r--target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch25
1 files changed, 17 insertions, 8 deletions
diff --git a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
index 74be425049..358d64b1a1 100644
--- a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
@@ -50,16 +50,25 @@
static bool
ip_checkentry(const struct ipt_ip *ip)
{
-@@ -650,6 +676,8 @@ find_check_entry(struct ipt_entry *e, st
- struct xt_mtchk_param mtpar;
- struct xt_entry_match *ematch;
+@@ -565,7 +591,7 @@ static void cleanup_match(struct xt_entr
+ }
+
+ static int
+-check_entry(const struct ipt_entry *e, const char *name)
++check_entry(struct ipt_entry *e, const char *name)
+ {
+ const struct xt_entry_target *t;
+
+@@ -574,6 +600,8 @@ check_entry(const struct ipt_entry *e, c
+ return -EINVAL;
+ }
+ ip_checkdefault(&e->ip);
+
- j = 0;
- mtpar.net = net;
- mtpar.table = name;
-@@ -942,6 +970,7 @@ copy_entries_to_user(unsigned int total_
+ if (e->target_offset + sizeof(struct xt_entry_target) >
+ e->next_offset)
+ return -EINVAL;
+@@ -935,6 +963,7 @@ copy_entries_to_user(unsigned int total_
const struct xt_table_info *private = table->private;
int ret = 0;
const void *loc_cpu_entry;
@@ -67,7 +76,7 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
-@@ -972,6 +1001,14 @@ copy_entries_to_user(unsigned int total_
+@@ -965,6 +994,14 @@ copy_entries_to_user(unsigned int total_
ret = -EFAULT;
goto free_counters;
}