Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\verifier.c Create Date:2022-07-28 12:56:04
Last Modify:2022-05-19 20:02:10 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:print_verifier_state

Proto:static void print_verifier_state(struct bpf_verifier_env *env, const struct bpf_func_state *state)

Type:void

Parameter:

TypeParameterName
struct bpf_verifier_env *env
const struct bpf_func_state *state
493  If stack frame number of this function state from pov of* enclosing bpf_verifier_state.* 0 = main function, 1 = first callee. Then verbose(env, " frame%d:", stack frame number of this function state from pov of* enclosing bpf_verifier_state.* 0 = main function, 1 = first callee.)
495  When i < BPF has 10 general purpose 64-bit registers and stack frame. cycle
496  reg = regs[i]
497  t = Ordering of fields matters. See states_equal()
498  If t == hing was written into register Then Continue
500  verbose(env, " R%d", i)
501  print_liveness(env, live)
502  verbose(env, "=%s", string representation of 'enum bpf_reg_type' [t])
503  If t == g doesn't contain a valid pointer && if (!precise && SCALAR_VALUE) min/max/tnum don't affect safety Then verbose(env, "P")
509  Else
530  verbose(env, ",imm=%llx", value)
531  Else
553  verbose(env, ")")
556  When i < allocated_stack / size of eBPF register in bytes cycle
558  bool valid = false
567  types_buf[size of eBPF register in bytes ] = 0
568  If Not valid Then Continue
570  verbose(env, " fp%d", ( - i - 1) * size of eBPF register in bytes )
571  print_liveness(env, live)
573  reg = spilled_ptr
580  Else
581  verbose(env, "=%s", types_buf)
584  If The following fields should be last. See copy_func_state() && Track each reference created with a unique id, even if the same * instruction creates the reference multiple times (eg, via CALL). Then
585  verbose(env, " refs=%d", Track each reference created with a unique id, even if the same * instruction creates the reference multiple times (eg, via CALL).)
586  When i < The following fields should be last. See copy_func_state() cycle If Track each reference created with a unique id, even if the same * instruction creates the reference multiple times (eg, via CALL). Then
588  verbose(env, ",%d", Track each reference created with a unique id, even if the same * instruction creates the reference multiple times (eg, via CALL).)
590  verbose(env, "\n")
Caller
NameDescribe
__mark_chain_precision
check_map_accessheck read/write into a map element with possible variable offset
check_func_call
prepare_func_exit
adjust_reg_min_max_valsHandles ALU ops other than BPF_END, BPF_NEG and BPF_MOV: computes new min/max* and var_off.
check_cond_jmp_op
do_check