Lines Matching defs:rold

8879 static bool regs_exact(const struct bpf_reg_state *rold,
8884 struct bpf_reg_state *rold, struct bpf_reg_state *rcur,
8887 if (rold->type != SCALAR_VALUE)
8889 if (rold->type != rcur->type)
8891 if (rold->precise || rcur->precise || regs_exact(rold, rcur, idmap))
18544 static bool regs_exact(const struct bpf_reg_state *rold,
18548 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 &&
18549 check_ids(rold->id, rcur->id, idmap) &&
18550 check_ids(rold->ref_obj_id, rcur->ref_obj_id, idmap);
18559 /* Returns true if (rold safe implies rcur safe) */
18560 static bool regsafe(struct bpf_verifier_env *env, struct bpf_reg_state *rold,
18565 return regs_exact(rold, rcur, idmap);
18567 if (!(rold->live & REG_LIVE_READ) && exact == NOT_EXACT)
18570 if (rold->type == NOT_INIT) {
18597 if (rold->type != rcur->type)
18600 switch (base_type(rold->type)) {
18606 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 &&
18607 check_scalar_ids(rold->id, rcur->id, idmap);
18609 if (!rold->precise && exact == NOT_EXACT)
18611 if ((rold->id & BPF_ADD_CONST) != (rcur->id & BPF_ADD_CONST))
18613 if ((rold->id & BPF_ADD_CONST) && (rold->off != rcur->off))
18639 return range_within(rold, rcur) &&
18640 tnum_in(rold->var_off, rcur->var_off) &&
18641 check_scalar_ids(rold->id, rcur->id, idmap);
18650 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, var_off)) == 0 &&
18651 range_within(rold, rcur) &&
18652 tnum_in(rold->var_off, rcur->var_off) &&
18653 check_ids(rold->id, rcur->id, idmap) &&
18654 check_ids(rold->ref_obj_id, rcur->ref_obj_id, idmap);
18663 if (rold->range > rcur->range)
18668 if (rold->off != rcur->off)
18671 if (!check_ids(rold->id, rcur->id, idmap))
18674 return range_within(rold, rcur) &&
18675 tnum_in(rold->var_off, rcur->var_off);
18680 return regs_exact(rold, rcur, idmap) && rold->frameno == rcur->frameno;
18684 return regs_exact(rold, rcur, idmap);