函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\lib\insn-eval.c Create Date:2022-07-27 08:24:48
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:get_addr_ref_32() - Obtain a 32-bit linear address*@insn: Instruction with ModRM, SIB bytes and displacement*@regs: Register values as seen when entering kernel mode* This function is to be used with 32-bit address encodings to obtain the* linear memory

函数原型:static void __user *get_addr_ref_32(struct insn *insn, struct pt_regs *regs)

返回类型:void

参数:

类型参数名称
struct insn *insn
struct pt_regs *regs
1207  linear_addr等于负1L
1212  如果addr_bytes不等于4则转到:out
1215  如果X86_MODRM_MOD(value)恒等于3则
1216  ret等于get_eff_addr_reg() - Obtain effective address from register operand*@insn: Instruction
1217  如果ret则转到:out
1220  eff_addr等于tmp
1222  否则
1223  如果nbytes
1225  如果ret则转到:out
1228  eff_addr等于tmp
1229  否则
1231  如果ret则转到:out
1234  eff_addr等于tmp
1238  ret等于get_seg_base_limit() - obtain base address and limit of a segment*@insn: Instruction
1239  如果ret则转到:out
1253  如果非user_64bit_mode(regs)且eff_addr大于seg_limit则转到:out
1260  如果v8086_mode(regs)且eff_addr按位与0xffff的反则转到:out
1268  linear_addr等于eff_addr按位与0xffffffff的值加seg_base
1271  如果v8086_mode(regs)则linear_addr与等于0xfffff
1274  out :
1275  返回:linear_addr
调用者
名称描述
insn_get_addr_refsn_get_addr_ref() - Obtain the linear address referred by instruction*@insn: Instruction structure containing ModRM byte and displacement*@regs: Structure with register values as seen when entering kernel mode* Obtain the linear address referred by the