函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Returns -ENOSYS if push_xol_ops doesn't handle this insn

函数原型:static int push_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn)

返回类型:int

参数:

类型参数名称
struct arch_uprobe *auprobe
struct insn *insn
765  opc1等于Adaptations for mhiramat x86 decoder v14. (insn), reg_offset等于0
767  如果opc1小于0x50或opc1大于0x57则返回:负ENOSYS
770  如果length大于2则返回:负ENOSYS
772  如果length恒等于2则
775  如果nbytes不等于1或bytes[0]不等于0x41则返回:负ENOSYS
780  :opc1恒等于0x50
781  reg_offset等于offsetof(structpt_regs, r8)
782  退出
783  :opc1恒等于0x51
784  reg_offset等于offsetof(structpt_regs, r9)
785  退出
786  :opc1恒等于0x52
787  reg_offset等于offsetof(structpt_regs, r10)
788  退出
789  :opc1恒等于0x53
790  reg_offset等于offsetof(structpt_regs, r11)
791  退出
792  :opc1恒等于0x54
793  reg_offset等于offsetof(structpt_regs, r12)
794  退出
795  :opc1恒等于0x55
796  reg_offset等于offsetof(structpt_regs, r13)
797  退出
798  :opc1恒等于0x56
799  reg_offset等于offsetof(structpt_regs, r14)
800  退出
801  :opc1恒等于0x57
802  reg_offset等于offsetof(structpt_regs, r15)
803  退出
808  否则
810  :opc1恒等于0x50
811  reg_offset等于offsetof(structpt_regs, ax)
812  退出
813  :opc1恒等于0x51
814  reg_offset等于offsetof(structpt_regs, cx)
815  退出
816  :opc1恒等于0x52
817  reg_offset等于offsetof(structpt_regs, dx)
818  退出
819  :opc1恒等于0x53
820  reg_offset等于offsetof(structpt_regs, bx)
821  退出
822  :opc1恒等于0x54
823  reg_offset等于offsetof(structpt_regs, sp)
824  退出
825  :opc1恒等于0x55
826  reg_offset等于offsetof(structpt_regs, bp)
827  退出
828  :opc1恒等于0x56
829  reg_offset等于offsetof(structpt_regs, si)
830  退出
831  :opc1恒等于0x57
832  reg_offset等于offsetof(structpt_regs, di)
833  退出
837  to the start of pt_regs 等于reg_offset
838  ilen等于length
839  ops等于push_xol_ops
840  返回:0
调用者
名称描述
arch_uprobe_analyze_insnarch_uprobe_analyze_insn - instruction analysis including validity and fixups.*@auprobe: the probepoint information.*@mm: the probed address space.*@addr: virtual address at which to install the probepoint* Return 0 on success or a -ve number on error.