Lines Matching refs:value_regno

1886 			     int off, int size, int value_regno, int insn_idx)  in check_stack_write()  argument
1908 if (value_regno >= 0) in check_stack_write()
1909 reg = &cur->regs[value_regno]; in check_stack_write()
1920 err = mark_chain_precision(env, value_regno); in check_stack_write()
1998 err = mark_chain_precision(env, value_regno); in check_stack_write()
2014 int off, int size, int value_regno) in check_stack_read() argument
2037 if (value_regno >= 0) { in check_stack_read()
2038 mark_reg_unknown(env, state->regs, value_regno); in check_stack_read()
2039 state->regs[value_regno].live |= REG_LIVE_WRITTEN; in check_stack_read()
2051 if (value_regno >= 0) { in check_stack_read()
2053 state->regs[value_regno] = *reg; in check_stack_read()
2058 state->regs[value_regno].live |= REG_LIVE_WRITTEN; in check_stack_read()
2076 if (value_regno >= 0) { in check_stack_read()
2081 __mark_reg_const_zero(&state->regs[value_regno]); in check_stack_read()
2092 state->regs[value_regno].precise = true; in check_stack_read()
2095 mark_reg_unknown(env, state->regs, value_regno); in check_stack_read()
2097 state->regs[value_regno].live |= REG_LIVE_WRITTEN; in check_stack_read()
2750 int value_regno, bool strict_alignment_once) in check_mem_access() argument
2770 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
2771 is_pointer_value(env, value_regno)) { in check_mem_access()
2772 verbose(env, "R%d leaks addr into map\n", value_regno); in check_mem_access()
2779 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2780 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
2785 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
2786 is_pointer_value(env, value_regno)) { in check_mem_access()
2787 verbose(env, "R%d leaks addr into ctx\n", value_regno); in check_mem_access()
2796 if (!err && t == BPF_READ && value_regno >= 0) { in check_mem_access()
2802 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
2805 value_regno); in check_mem_access()
2807 regs[value_regno].id = ++env->id_gen; in check_mem_access()
2813 regs[value_regno].subreg_def = DEF_NOT_SUBREG; in check_mem_access()
2815 regs[value_regno].type = reg_type; in check_mem_access()
2831 value_regno, insn_idx); in check_mem_access()
2834 value_regno); in check_mem_access()
2840 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
2841 is_pointer_value(env, value_regno)) { in check_mem_access()
2843 value_regno); in check_mem_access()
2847 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2848 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
2850 if (t == BPF_WRITE && value_regno >= 0 && in check_mem_access()
2851 is_pointer_value(env, value_regno)) { in check_mem_access()
2853 value_regno); in check_mem_access()
2858 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2859 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
2867 if (!err && value_regno >= 0) in check_mem_access()
2868 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
2871 if (!err && t == BPF_READ && value_regno >= 0) in check_mem_access()
2872 mark_reg_unknown(env, regs, value_regno); in check_mem_access()
2879 if (!err && size < BPF_REG_SIZE && value_regno >= 0 && t == BPF_READ && in check_mem_access()
2880 regs[value_regno].type == SCALAR_VALUE) { in check_mem_access()
2882 coerce_reg_to_size(&regs[value_regno], size); in check_mem_access()