函数逻辑报告 |
Source Code:arch\x86\lib\insn-eval.c |
Create Date:2022-07-27 08:24:42 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:get_eff_addr_modrm() - Obtain referenced effective address via ModRM*@insn: Instruction
函数原型:static int get_eff_addr_modrm(struct insn *insn, struct pt_regs *regs, int *regoff, long *eff_addr)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct insn * | insn | |
struct pt_regs * | regs | |
int * | regoff | |
long * | eff_addr |
932 | 如果addr_bytes不等于8且addr_bytes不等于4则返回:负EINVAL |
940 | 如果X86_MODRM_MOD(value)大于2则返回:负EINVAL |
943 | regoff等于get_reg_offset(insn, regs, REG_TYPE_RM) |
951 | 如果user_64bit_mode(regs)则tmp等于 Return frame for iretq 加length |
953 | 否则tmp等于0 |
955 | 否则如果regoff小于0则 |
956 | 返回:负EINVAL |
957 | 否则 |
961 | 如果addr_bytes恒等于4则 |
965 | 否则 |
969 | 返回:0 |
名称 | 描述 |
---|---|
get_addr_ref_32 | 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 |
get_addr_ref_64 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |