函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\verifier.c Create Date:2022-07-27 14:15:23
Last Modify:2022-05-19 20:02:10 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: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

函数原型:static int is_branch_taken(struct bpf_reg_state *reg, u64 val, u8 opcode, bool is_jmp32)

返回类型:int

参数:

类型参数名称
struct bpf_reg_state *reg
u64val
u8opcode
boolis_jmp32
5435  如果__is_pointer_value(TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., reg)则返回:负1
5438  如果is_jmp32
5439  reg_lo等于reg
5440  reg等于reg_lo
5445  runcate register to smaller size (in bytes)* must be called with size < BPF_REG_SIZE
5459  如果 maximum possible (u64)value 按位异或 minimum possible (u64)value 的值按位与1ULL左移31位则
5464  minimum possible (s64)value 等于 minimum possible (s64)value
5465  maximum possible (s64)value 等于 maximum possible (s64)value
5467  val等于val
5468  sval等于val
5469  否则
5470  sval等于val
5474  :opcode恒等于BPF_JEQ
5477  退出
5478  :opcode恒等于jump !=
5481  退出
5482  :opcode恒等于BPF_JSET
5483  如果mask的反按位与value按位与val则返回:1
5485  如果非mask按位或value的值按位与val的值则返回:0
5487  退出
5488  :opcode恒等于BPF_JGT
5489  如果 minimum possible (u64)value 大于val则返回:1
5491  否则如果 maximum possible (u64)value 小于等于val则返回:0
5493  退出
5495  如果 minimum possible (s64)value 大于sval则返回:1
5497  否则如果 maximum possible (s64)value 小于sval则返回:0
5499  退出
5501  如果 maximum possible (u64)value 小于val则返回:1
5503  否则如果 minimum possible (u64)value 大于等于val则返回:0
5505  退出
5507  如果 maximum possible (s64)value 小于sval则返回:1
5509  否则如果 minimum possible (s64)value 大于等于sval则返回:0
5511  退出
5512  :opcode恒等于BPF_JGE
5513  如果 minimum possible (u64)value 大于等于val则返回:1
5515  否则如果 maximum possible (u64)value 小于val则返回:0
5517  退出
5519  如果 minimum possible (s64)value 大于等于sval则返回:1
5521  否则如果 maximum possible (s64)value 小于sval则返回:0
5523  退出
5525  如果 maximum possible (u64)value 小于等于val则返回:1
5527  否则如果 minimum possible (u64)value 大于val则返回:0
5529  退出
5531  如果 maximum possible (s64)value 小于等于sval则返回:1
5533  否则如果 minimum possible (s64)value 大于sval则返回:0
5535  退出
5538  返回:负1
调用者
名称描述
check_cond_jmp_op