From 723c4222b8771a5474307596dd4c09dbe428607b Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Sun, 7 May 2017 04:04:10 +0200 Subject: netlink_delink_delinearize: don't store dependency unless relop checks is eq check 'ip protocol ne 6' is not a dependency for nexthdr protocol, and must not be stored as such. Fixes: 0b858391781ba308 ("src: annotate follow up dependency just after killing another") Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- src/netlink_delinearize.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/netlink_delinearize.c') diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index a65a97da..f0288cd4 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -1332,7 +1332,7 @@ static void payload_match_expand(struct rule_pp_ctx *ctx, payload_dependency_store(&ctx->pdctx, nstmt, base - stacked); } else { payload_dependency_kill(&ctx->pdctx, nexpr->left); - if (left->flags & EXPR_F_PROTOCOL) + if (expr->op == OP_EQ && left->flags & EXPR_F_PROTOCOL) payload_dependency_store(&ctx->pdctx, nstmt, base - stacked); } } -- cgit v1.2.3