Lines Matching defs:linked_regs

3825 struct linked_regs {
3830 static struct linked_reg *linked_regs_push(struct linked_regs *s)
3845 static u64 linked_regs_pack(struct linked_regs *s)
3866 static void linked_regs_unpack(u64 val, struct linked_regs *s)
3885 int insn_flags, u64 linked_regs)
3901 verifier_bug_if(env->cur_hist_ent->linked_regs != 0, env,
3902 "insn history: insn_idx %d linked_regs: %#llx",
3903 env->insn_idx, env->cur_hist_ent->linked_regs);
3904 env->cur_hist_ent->linked_regs = linked_regs;
3919 p->linked_regs = linked_regs;
4143 /* If any register R in hist->linked_regs is marked as precise in bt,
4144 * do bt_set_frame_{reg,slot}(bt, R) for all registers in hist->linked_regs.
4148 struct linked_regs linked_regs;
4152 if (!hist || hist->linked_regs == 0)
4155 linked_regs_unpack(hist->linked_regs, &linked_regs);
4156 for (i = 0; i < linked_regs.cnt; ++i) {
4157 struct linked_reg *e = &linked_regs.entries[i];
4169 for (i = 0; i < linked_regs.cnt; ++i) {
4170 struct linked_reg *e = &linked_regs.entries[i];
16589 static void __collect_linked_regs(struct linked_regs *reg_set, struct bpf_reg_state *reg,
16608 * in verifier state, save R in linked_regs if R->id == id.
16612 struct linked_regs *linked_regs)
16623 __collect_linked_regs(linked_regs, reg, id, i, j, true);
16629 __collect_linked_regs(linked_regs, reg, id, i, j, false);
16634 /* For all R in linked_regs, copy known_reg range into R
16638 struct linked_regs *linked_regs)
16645 for (i = 0; i < linked_regs->cnt; ++i) {
16646 e = &linked_regs->entries[i];
16690 struct linked_regs linked_regs = {};
16825 collect_linked_regs(this_branch, src_reg->id, &linked_regs);
16827 collect_linked_regs(this_branch, dst_reg->id, &linked_regs);
16828 if (linked_regs.cnt > 1) {
16829 err = push_jmp_history(env, this_branch, 0, linked_regs_pack(&linked_regs));
16864 sync_linked_regs(this_branch, src_reg, &linked_regs);
16865 sync_linked_regs(other_branch, &other_branch_regs[insn->src_reg], &linked_regs);
16869 sync_linked_regs(this_branch, dst_reg, &linked_regs);
16870 sync_linked_regs(other_branch, &other_branch_regs[insn->dst_reg], &linked_regs);