Lines Matching refs:value_regno

4998 				       int off, int size, int value_regno,  in check_stack_write_fixed_off()  argument
5019 if (value_regno >= 0) in check_stack_write_fixed_off()
5020 reg = &cur->regs[value_regno]; in check_stack_write_fixed_off()
5104 err = mark_chain_precision(env, value_regno); in check_stack_write_fixed_off()
5144 int value_regno, int insn_idx) in check_stack_write_var_off() argument
5161 if (value_regno >= 0) in check_stack_write_var_off()
5162 value_reg = &cur->regs[value_regno]; in check_stack_write_var_off()
5243 err = mark_chain_precision(env, value_regno); in check_stack_write_var_off()
5548 int value_regno, int insn_idx) in check_stack_write() argument
5557 value_regno, insn_idx); in check_stack_write()
5564 value_regno, insn_idx); in check_stack_write()
5898 int value_regno, int insn_idx, in check_map_kptr_access() argument
5932 return mark_uptr_ld_reg(env, value_regno, kptr_field); in check_map_kptr_access()
5937 mark_btf_ld_reg(env, cur_regs(env), value_regno, PTR_TO_BTF_ID, kptr_field->kptr.btf, in check_map_kptr_access()
5940 val_reg = reg_state(env, value_regno); in check_map_kptr_access()
5942 map_kptr_match_type(env, kptr_field, val_reg, value_regno)) in check_map_kptr_access()
7099 int value_regno) in check_ptr_to_btf_access() argument
7239 if (atype == BPF_READ && value_regno >= 0) in check_ptr_to_btf_access()
7240 mark_btf_ld_reg(env, regs, value_regno, ret, reg->btf, btf_id, flag); in check_ptr_to_btf_access()
7249 int value_regno) in check_ptr_to_map_access() argument
7299 if (value_regno >= 0) in check_ptr_to_map_access()
7300 mark_btf_ld_reg(env, regs, value_regno, ret, btf_vmlinux, btf_id, flag); in check_ptr_to_map_access()
7412 int value_regno, bool strict_alignment_once, bool is_ldsx) in check_mem_access() argument
7440 if (value_regno >= 0) in check_mem_access()
7441 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7445 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
7446 is_pointer_value(env, value_regno)) { in check_mem_access()
7447 verbose(env, "R%d leaks addr into map\n", value_regno); in check_mem_access()
7460 err = check_map_kptr_access(env, regno, value_regno, insn_idx, kptr_field); in check_mem_access()
7461 } else if (t == BPF_READ && value_regno >= 0) { in check_mem_access()
7476 regs[value_regno].type = SCALAR_VALUE; in check_mem_access()
7477 __mark_reg_known(&regs[value_regno], val); in check_mem_access()
7479 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7497 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
7498 is_pointer_value(env, value_regno)) { in check_mem_access()
7499 verbose(env, "R%d leaks addr into mem\n", value_regno); in check_mem_access()
7505 if (!err && value_regno >= 0 && (t == BPF_READ || rdonly_mem)) in check_mem_access()
7506 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7515 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
7516 is_pointer_value(env, value_regno)) { in check_mem_access()
7517 verbose(env, "R%d leaks addr into ctx\n", value_regno); in check_mem_access()
7528 if (!err && t == BPF_READ && value_regno >= 0) { in check_mem_access()
7535 err = __mark_reg_s32_range(env, regs, value_regno, in check_mem_access()
7540 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7544 value_regno); in check_mem_access()
7546 regs[value_regno].id = ++env->id_gen; in check_mem_access()
7552 regs[value_regno].subreg_def = DEF_NOT_SUBREG; in check_mem_access()
7554 regs[value_regno].btf = info.btf; in check_mem_access()
7555 regs[value_regno].btf_id = info.btf_id; in check_mem_access()
7556 regs[value_regno].ref_obj_id = info.ref_obj_id; in check_mem_access()
7559 regs[value_regno].type = info.reg_type; in check_mem_access()
7570 value_regno); in check_mem_access()
7573 value_regno, insn_idx); in check_mem_access()
7579 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
7580 is_pointer_value(env, value_regno)) { in check_mem_access()
7582 value_regno); in check_mem_access()
7586 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
7587 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7589 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
7590 is_pointer_value(env, value_regno)) { in check_mem_access()
7592 value_regno); in check_mem_access()
7597 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
7598 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7606 if (!err && value_regno >= 0) in check_mem_access()
7607 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7610 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
7611 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7615 value_regno); in check_mem_access()
7618 value_regno); in check_mem_access()
7637 if (!err && value_regno >= 0 && (rdonly_mem || t == BPF_READ)) in check_mem_access()
7638 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7640 if (t == BPF_READ && value_regno >= 0) in check_mem_access()
7641 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
7648 if (!err && size < BPF_REG_SIZE && value_regno >= 0 && t == BPF_READ && in check_mem_access()
7649 regs[value_regno].type == SCALAR_VALUE) { in check_mem_access()
7652 coerce_reg_to_size(&regs[value_regno], size); in check_mem_access()
7654 coerce_reg_to_size_sx(&regs[value_regno], size); in check_mem_access()