ematch: Fix matching of inverted containers.

Negated expressions and sub-expressions need to have their flags checked for
TCF_EM_INVERT and their result negated accordingly.

Signed-off-by: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ignacy Gawędzki 2014-09-24 18:38:39 +02:00 committed by David S. Miller
parent 73d3fe6d1c
commit 17c9c82326

View File

@ -526,9 +526,11 @@ pop_stack:
match_idx = stack[--stackp];
cur_match = tcf_em_get_match(tree, match_idx);
if (tcf_em_early_end(cur_match, res))
if (tcf_em_early_end(cur_match, res)) {
if (tcf_em_is_inverted(cur_match))
res = !res;
goto pop_stack;
else {
} else {
match_idx++;
goto proceed;
}