From f7dc8269ddaed49fe643423a3a403b91ab1e50db Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Wed, 22 Apr 2026 19:18:59 +0200 Subject: [PATCH] evaluate: remove zero shift expressions at eval stage There is a kernel patch (under review) that rejects 0-shifts from control plane. Remove zero-shifts at eval stage: they are a no-op in any case. Signed-off-by: Florian Westphal Reviewed-by: Fernando Fernandez Mancera --- src/evaluate.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/evaluate.c b/src/evaluate.c index 482708ae..8bb7b609 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -1454,6 +1454,12 @@ static int expr_evaluate_shift(struct eval_ctx *ctx, struct expr **expr) "shifts exceeding %u bits are not supported", UINT_MAX); shift = mpz_get_uint32(right->value); + if (shift == 0) { + *expr = expr_get(left); + expr_free(op); + return 0; + } + if (ctx->stmt_len > left->len) max_shift_len = ctx->stmt_len; else -- 2.47.3