On Mon, Apr 04, 2022 at 01:13:49PM +0100, Jeremy Sowden wrote: > Set it to match the length of the left operand. > > Signed-off-by: Jeremy Sowden <jeremy@xxxxxxxxxx> > --- > src/netlink_delinearize.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c > index 8b010fe4d168..cf5359bf269e 100644 > --- a/src/netlink_delinearize.c > +++ b/src/netlink_delinearize.c > @@ -2613,6 +2613,7 @@ static void expr_postprocess(struct rule_pp_ctx *ctx, struct expr **exprp) > BYTEORDER_HOST_ENDIAN); > break; > default: > + expr->right->len = expr->left->len; This seems to be required for EXPR_BINOP (exclusing left/right shift) I am assuming here expr->right is the value of the bitmask. Was expr->right->len unset? > expr_set_type(expr->right, expr->left->dtype, > expr->left->byteorder); > } > -- > 2.35.1 >