We cannot assume i->key->key is EXPR_VALUE, we could look e.g. at a range,
which will trigger an assertion failure in binop_adjust_one().
We should call __binop_adjust recursively again in the EXPR_SET_ELEM case,
using key as new input.
Fixes: b8b8e7b6ae10 ("evaluate: transfer right shifts to set reference side")
Signed-off-by: Florian Westphal <fw@strlen.de>
binop_adjust_one(binop, i->key->right, shift);
break;
case EXPR_SET_ELEM:
- binop_adjust_one(binop, i->key->key, shift);
+ __binop_adjust(binop, i->key->key, shift);
break;
default:
BUG("unknown expression type %s\n", i->key->ops->name);