Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:This function is supposed to be used by the following 32-bit optimization* code only. It returns TRUE if the source or destination register operates* on 64-bit, otherwise return FALSE.

Proto:static bool is_reg64(struct bpf_verifier_env *env, struct bpf_insn *insn, u32 regno, struct bpf_reg_state *reg, enum reg_arg_type t)

Type:bool

Parameter:

TypeParameterName
struct bpf_verifier_env *env
struct bpf_insn *insn
u32regno
struct bpf_reg_state *reg
enum reg_arg_typet
1319  code = opcode
1320  class = Instruction classes (code)
1321  op = alu/jmp fields (code)
1322  If class == BPF_JMP Then
1326  If op == unction return Then Return true
1328  If op == unction call Then
1339  If t == register is used as source operand Then Return true
1342  Return false
1346  If class == alu mode in double word width || class == BPF_JMP || class == BPF_ALU && op == lags for endianness conversion: && signed immediate constant == 64 Then Return true
1351  If class == BPF_ALU || class == jmp mode in word width Then Return false
1354  If class == BPF_LDX Then
1355  If t != register is used as source operand Then Return ld/ldx fields (code) == double word (64-bit)
1358  Return true
1361  If class == BPF_STX Then
1362  If Ordering of fields matters. See states_equal() != g doesn't contain a valid pointer Then Return true
1364  Return ld/ldx fields (code) == double word (64-bit)
1367  If class == BPF_LD Then
1368  mode = BPF BPF_DW 0x18 64-bit (code)
1371  If mode == BPF_IMM Then Return true
1375  If t != register is used as source operand Then Return false
1379  If regno == BPF_REG_6 Then Return true
1383  Return true
1386  If class == BPF_ST Then Return true
1391  Return true
Caller
NameDescribe
insn_has_def32Return TRUE if INSN has defined any 32-bit value explicitly.
check_reg_arg
opt_subreg_zext_lo32_rnd_hi32