Lines Matching refs:rold

7916 static bool regs_exact(const struct bpf_reg_state *rold,
7921 struct bpf_reg_state *rold, struct bpf_reg_state *rcur,
7924 if (rold->type != SCALAR_VALUE)
7926 if (rold->type != rcur->type)
7928 if (rold->precise || rcur->precise || regs_exact(rold, rcur, idmap))
16658 static bool regs_exact(const struct bpf_reg_state *rold,
16662 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 &&
16663 check_ids(rold->id, rcur->id, idmap) &&
16664 check_ids(rold->ref_obj_id, rcur->ref_obj_id, idmap);
16673 /* Returns true if (rold safe implies rcur safe) */
16674 static bool regsafe(struct bpf_verifier_env *env, struct bpf_reg_state *rold,
16679 return regs_exact(rold, rcur, idmap);
16681 if (!(rold->live & REG_LIVE_READ) && exact == NOT_EXACT)
16684 if (rold->type == NOT_INIT) {
16711 if (rold->type != rcur->type)
16714 switch (base_type(rold->type)) {
16720 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 &&
16721 check_scalar_ids(rold->id, rcur->id, idmap);
16723 if (!rold->precise && exact == NOT_EXACT)
16749 return range_within(rold, rcur) &&
16750 tnum_in(rold->var_off, rcur->var_off) &&
16751 check_scalar_ids(rold->id, rcur->id, idmap);
16760 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, var_off)) == 0 &&
16761 range_within(rold, rcur) &&
16762 tnum_in(rold->var_off, rcur->var_off) &&
16763 check_ids(rold->id, rcur->id, idmap) &&
16764 check_ids(rold->ref_obj_id, rcur->ref_obj_id, idmap);
16773 if (rold->range > rcur->range)
16778 if (rold->off != rcur->off)
16781 if (!check_ids(rold->id, rcur->id, idmap))
16784 return range_within(rold, rcur) &&
16785 tnum_in(rold->var_off, rcur->var_off);
16790 return regs_exact(rold, rcur, idmap) && rold->frameno == rcur->frameno;
16794 return regs_exact(rold, rcur, idmap);