函数逻辑报告 |
Source Code:include\linux\tnum.h |
Create Date:2022-07-27 14:08:10 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Returns true if @a is a known constant
函数原型:static inline bool tnum_is_const(struct tnum a)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct tnum | a |
56 | 返回:非mask |
名称 | 描述 |
---|---|
print_verifier_state | |
register_is_const | |
check_stack_access | |
check_ctx_reg | |
check_tp_buffer_access | |
check_ptr_to_btf_access | |
check_mem_access | heck whether memory at (regno + off) is accessible for t = (read | write)* if t==write, value_regno is a register which value is stored into memory* if t==read, value_regno is a register which will receive the value from memory* if t==write && |
__check_stack_boundary | |
check_stack_boundary | when register 'regno' is passed into function that will read 'access_size'* bytes from that pointer, make sure that it's within stack boundary* and all elements of stack are initialized |
process_spin_lock | Implementation details:* bpf_map_lookup returns PTR_TO_MAP_VALUE_OR_NULL* Two bpf_map_lookups (even with the same key) will have different reg->id |
check_func_arg | |
check_reg_sane_offset | |
adjust_ptr_min_max_vals | Handles arithmetic on a pointer and a scalar: computes new min/max and var_off.* Caller should also handle BPF_MOV case separately.* If we return -EACCES, caller may want to try again treating pointer as a* scalar |
adjust_scalar_min_max_vals | WARNING: This function does calculations on 64-bit values, but the actual* execution may occur on 32-bit values. Therefore, things like bitshifts* need extra checks in the 32-bit case. |
is_branch_taken | mpute branch direction of the expression "if (reg opcode val) goto target;"* and return:* 1 - branch will be taken and "goto target" will be executed* 0 - branch will not be taken and fall-through to next insn* -1 - unknown |
check_cond_jmp_op | |
tnum_equals_const | Returns true if @a == tnum_const(@b) |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |