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 |