Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/bpf/verifier.c adjust_reg_min_max_vals() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->prog->insnsi 4096-ptr_max
DATA_SOURCE 0 env $0

kernel/bpf/verifier.c adjust_reg_min_max_vals() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->prog->insnsi 4096-ptr_max
DATA_SOURCE 0 env $0

kernel/bpf/verifier.c adjust_reg_min_max_vals() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->prog->insnsi 4096-ptr_max
DATA_SOURCE 0 env $0

kernel/bpf/verifier.c check_helper_call() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->ops->gen_ld_abs 0,5704186734949433344
PARAM_VALUE 0 env->ops->get_func_proto 1-u64max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 0 *env->tmp_arg_name 0-255
PARAM_VALUE 0 *env->tmp_str_buf 0-255
PARAM_VALUE 1 regno 1
DATA_SOURCE 0 env $0

kernel/bpf/verifier.c check_helper_call() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->ops->gen_ld_abs 0,5704186734949433344
PARAM_VALUE 0 env->ops->get_func_proto 1-u64max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 0 *env->log.kbuf 0-255
PARAM_VALUE 0 *env->tmp_arg_name 0-255
PARAM_VALUE 0 *env->tmp_str_buf 0-255
PARAM_VALUE 1 regno 1
DATA_SOURCE 0 env $0

kernel/bpf/verifier.c check_mem_size_reg() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->ops->get_func_proto 1-u64max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 1 regno 0-s32max
CAPPED_DATA 0 env->cur_state->acquired_refs 1
DATA_SOURCE 0 env $0
DATA_SOURCE 1 regno r reg_from_argno
NO_OVERFLOW_SIMPLE 0 env->cur_state->jmp_history_cnt

kernel/bpf/verifier.c check_return_code() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 0 env->prog->aux 4096-ptr_max
PARAM_VALUE 0 *env->tmp_str_buf 0-255
PARAM_VALUE 1 regno 0-1
DATA_SOURCE 0 env $0
DATA_SOURCE 1 regno $1
STR_LEN 0 env 2
STR_LEN 0 env 2
HARD_MAX 1 regno 1

kernel/bpf/verifier.c check_stack_write_fixed_off() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->ops->gen_ld_abs 0,4096-ptr_max
PARAM_VALUE 0 env->prog->insnsi 4096-ptr_max
PARAM_VALUE 0 *env->tmp_arg_name 0-255
PARAM_VALUE 0 *env->tmp_str_buf 0-255
DATA_SOURCE 0 env $0
DATA_SOURCE 1 regno $4
STR_LEN 0 env (-1)
STR_LEN 0 env (-1)
NO_OVERFLOW_SIMPLE 0 env->cur_state->jmp_history_cnt

kernel/bpf/verifier.c check_stack_write_var_off() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->ops->gen_ld_abs 0,4096-ptr_max
PARAM_VALUE 0 env->prog->insnsi 4096-ptr_max
PARAM_VALUE 0 *env->tmp_arg_name 0-255
PARAM_VALUE 0 *env->tmp_str_buf 0-255
DATA_SOURCE 0 env $0
DATA_SOURCE 1 regno $5
STR_LEN 0 env (-1)
STR_LEN 0 env (-1)
NO_OVERFLOW_SIMPLE 0 env->cur_state->jmp_history_cnt

kernel/bpf/verifier.c loop_flag_is_zero() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->ops->get_func_proto 1-u64max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 0 *env->log.kbuf 0-255
PARAM_VALUE 0 *env->tmp_arg_name 0-255
PARAM_VALUE 0 *env->tmp_str_buf 0-255
PARAM_VALUE 1 regno 4
DATA_SOURCE 0 env $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 env->cur_state->jmp_history_cnt

kernel/bpf/verifier.c prepare_func_exit() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->cur_state->curframe 1-2147483646
PARAM_VALUE 0 env->cur_state->frame 4096-ptr_max
PARAM_VALUE 0 env->insn_aux_data->btf_var.reg_type 0,16,529,4112
PARAM_VALUE 0 env->ops->gen_ld_abs 0,4096-ptr_max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 0 *env->log.kbuf 0-255
PARAM_VALUE 0 *env->tmp_arg_name 0-255
PARAM_VALUE 0 *env->tmp_str_buf 0-255
PARAM_VALUE 1 regno 0
CAPPED_DATA 0 env->cur_state->curframe 1
DATA_SOURCE 0 env $0

kernel/bpf/verifier.c process_const_alloc_mem_size() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 1 regno 0-s32max
CAPPED_DATA 0 env->cur_state->acquired_refs 1
DATA_SOURCE 0 env $0
DATA_SOURCE 1 regno r reg_from_argno
NO_OVERFLOW_SIMPLE 0 env->cur_state->jmp_history_cnt

kernel/bpf/verifier.c process_const_arg() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->insn_aux_data 4096-ptr_max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 0 env->prog->aux 4096-ptr_max
PARAM_VALUE 0 env->prog->aux->kfunc_tab 4096-ptr_max
PARAM_VALUE 0 env->prog->insnsi 4096-ptr_max
PARAM_VALUE 0 env->subprog_info 4096-ptr_max
PARAM_VALUE 0 *env->tmp_str_buf 0-255
PARAM_VALUE 1 regno 0-s32max
CAPPED_DATA 0 env->cur_state->acquired_refs 1
DATA_SOURCE 0 env $0
DATA_SOURCE 1 regno r reg_from_argno

kernel/bpf/verifier.c record_func_key() -> mark_chain_precision()

Type Parameter Key Value
PARAM_VALUE 0 env 4096-ptr_max
PARAM_VALUE 0 env->cur_state 4096-ptr_max
PARAM_VALUE 0 env->insn_aux_data 4096-ptr_max
PARAM_VALUE 0 env->insn_aux_data->btf_var.reg_type 0,16,529,4112
PARAM_VALUE 0 env->ops->gen_ld_abs 0,4096-ptr_max
PARAM_VALUE 0 env->ops->get_func_proto 1-u64max
PARAM_VALUE 0 env->prog 4096-ptr_max
PARAM_VALUE 1 regno 3
DATA_SOURCE 0 env $0