|
@@ -309,13 +309,10 @@ static int mark_source_chains(const struct xt_table_info *newinfo,
|
|
|
for (hook = 0; hook < NF_ARP_NUMHOOKS; hook++) {
|
|
|
unsigned int pos = newinfo->hook_entry[hook];
|
|
|
struct arpt_entry *e = entry0 + pos;
|
|
|
- unsigned int last_pos, depth;
|
|
|
|
|
|
if (!(valid_hooks & (1 << hook)))
|
|
|
continue;
|
|
|
|
|
|
- depth = 0;
|
|
|
- last_pos = pos;
|
|
|
/* Set initial back pointer. */
|
|
|
e->counters.pcnt = pos;
|
|
|
|
|
@@ -346,8 +343,6 @@ static int mark_source_chains(const struct xt_table_info *newinfo,
|
|
|
pos = e->counters.pcnt;
|
|
|
e->counters.pcnt = 0;
|
|
|
|
|
|
- if (depth)
|
|
|
- --depth;
|
|
|
/* We're at the start. */
|
|
|
if (pos == oldpos)
|
|
|
goto next;
|
|
@@ -372,9 +367,6 @@ static int mark_source_chains(const struct xt_table_info *newinfo,
|
|
|
if (!xt_find_jump_offset(offsets, newpos,
|
|
|
newinfo->number))
|
|
|
return 0;
|
|
|
-
|
|
|
- if (entry0 + newpos != arpt_next_entry(e))
|
|
|
- ++depth;
|
|
|
} else {
|
|
|
/* ... this is a fallthru */
|
|
|
newpos = pos + e->next_offset;
|
|
@@ -385,15 +377,8 @@ static int mark_source_chains(const struct xt_table_info *newinfo,
|
|
|
e->counters.pcnt = pos;
|
|
|
pos = newpos;
|
|
|
}
|
|
|
- if (depth == 0)
|
|
|
- last_pos = pos;
|
|
|
- }
|
|
|
-next:
|
|
|
- if (last_pos != newinfo->underflow[hook]) {
|
|
|
- pr_err_ratelimited("last base chain position %u doesn't match underflow %u (hook %u)\n",
|
|
|
- last_pos, newinfo->underflow[hook], hook);
|
|
|
- return 0;
|
|
|
}
|
|
|
+next: ;
|
|
|
}
|
|
|
return 1;
|
|
|
}
|