函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:sn_rip_relative() - Does instruction use RIP-relative addressing mode?*@insn: &struct insn containing instruction* If necessary, first collects the instruction up to and including the* ModRM byte. No effect if @insn->x86_64 is 0.

函数原型:int insn_rip_relative(struct insn *insn)

返回类型:int

参数:

类型参数名称
struct insn *insn
327  modrm等于modrm
329  如果非x86_64则返回:0
331  如果非 !0 if we've run insn_get_xxx() for this field sn_get_modrm - collect ModRM byte, if any*@insn: &struct insn containing instruction* Populates @insn->modrm and updates @insn->next_byte to point past the* ModRM byte, if any. If necessary, first collects the preceding bytes* (prefixes and opcode(s))
337  返回:nbytesvalue按位与0xc7的值恒等于0x5
调用者
名称描述
riprel_analyzeIf arch_uprobe->insn doesn't use rip-relative addressing, return* immediately. Otherwise, rewrite the instruction so that it accesses* its memory operand indirectly through a scratch register. Set* defparam->fixups accordingly
__copy_instructionCopy an instruction with recovering modified instruction by kprobes* and adjust the displacement if the instruction uses the %rip-relative* addressing mode. Note that since @real will be the final place of copied