summaryrefslogtreecommitdiffstats
path: root/src/netlink_delinearize.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/netlink_delinearize.c')
-rw-r--r--src/netlink_delinearize.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index c7dae266..49870eea 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -2285,6 +2285,14 @@ static void relational_binop_postprocess(struct rule_pp_ctx *ctx,
BUG("unknown operation type %d\n", expr->op);
}
expr_free(binop);
+ } else if (binop->right->etype == EXPR_VALUE &&
+ value->etype == EXPR_VALUE &&
+ expr->op == OP_EQ &&
+ !mpz_cmp(value->value, binop->right->value)) {
+ /* Skip flag / flag representation for:
+ * data & flag == flag
+ */
+ ;
} else {
*exprp = flagcmp_expr_alloc(&expr->location, expr->op,
expr_get(binop->left),