summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2016-03-22 18:02:52 +0100
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-13 14:02:08 -0700
commit935e69ad8241039f683052e6b5e04769ff9811e1 (patch)
tree9cc964f30beade3e213331deb9d2c69b758791c4 /tools/perf/scripts/python
parent9b82a4c5896632b62140d1ddda55638fea254007 (diff)
netfilter: x_tables: fix unconditional helper
Ben Hawkes says: In the mark_source_chains function (net/ipv4/netfilter/ip_tables.c) it is possible for a user-supplied ipt_entry structure to have a large next_offset field. This field is not bounds checked prior to writing a counter value at the supplied offset. Problem is that mark_source_chains should not have been called -- the rule doesn't have a next entry, so its supposed to return an absolute verdict of either ACCEPT or DROP. However, the function conditional() doesn't work as the name implies. It only checks that the rule is using wildcard address matching. However, an unconditional rule must also not be using any matches (no -m args). The underflow validator only checked the addresses, therefore passing the 'unconditional absolute verdict' test, while mark_source_chains also tested for presence of matches, and thus proceeeded to the next (not-existent) rule. Unify this so that all the callers have same idea of 'unconditional rule'. Reported-by: Ben Hawkes <hawkes@google.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org> Git-repo: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git Git-commit: 54d83fc74aa9ec72794373cb47432c5f7fb1a309 (cherry picked from commit 54d83fc74aa9ec72794373cb47432c5f7fb1a309) Change-Id: I425228695bd50751476ac6032f10e3b927825f35
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions