Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\uprobes.c Create Date:2022-07-28 08:47:45
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Returns -ENOSYS if push_xol_ops doesn't handle this insn

Proto:static int push_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn)

Type:int

Parameter:

TypeParameterName
struct arch_uprobe *auprobe
struct insn *insn
765  opc1 = Adaptations for mhiramat x86 decoder v14. (insn) , reg_offset = 0
767  If opc1 < 0x50 || opc1 > 0x57 Then Return -ENOSYS
770  If length > 2 Then Return -ENOSYS
772  If length == 2 Then
775  If nbytes != 1 || bytes[0] != 0x41 Then Return -ENOSYS
780  Case opc1 == 0x50
781  reg_offset = offsetof(structpt_regs, r8)
782  Break
783  Case opc1 == 0x51
784  reg_offset = offsetof(structpt_regs, r9)
785  Break
786  Case opc1 == 0x52
787  reg_offset = offsetof(structpt_regs, r10)
788  Break
789  Case opc1 == 0x53
790  reg_offset = offsetof(structpt_regs, r11)
791  Break
792  Case opc1 == 0x54
793  reg_offset = offsetof(structpt_regs, r12)
794  Break
795  Case opc1 == 0x55
796  reg_offset = offsetof(structpt_regs, r13)
797  Break
798  Case opc1 == 0x56
799  reg_offset = offsetof(structpt_regs, r14)
800  Break
801  Case opc1 == 0x57
802  reg_offset = offsetof(structpt_regs, r15)
803  Break
808  Else
810  Case opc1 == 0x50
811  reg_offset = offsetof(structpt_regs, ax)
812  Break
813  Case opc1 == 0x51
814  reg_offset = offsetof(structpt_regs, cx)
815  Break
816  Case opc1 == 0x52
817  reg_offset = offsetof(structpt_regs, dx)
818  Break
819  Case opc1 == 0x53
820  reg_offset = offsetof(structpt_regs, bx)
821  Break
822  Case opc1 == 0x54
823  reg_offset = offsetof(structpt_regs, sp)
824  Break
825  Case opc1 == 0x55
826  reg_offset = offsetof(structpt_regs, bp)
827  Break
828  Case opc1 == 0x56
829  reg_offset = offsetof(structpt_regs, si)
830  Break
831  Case opc1 == 0x57
832  reg_offset = offsetof(structpt_regs, di)
833  Break
837  to the start of pt_regs = reg_offset
838  ilen = length
839  ops = push_xol_ops
840  Return 0
Caller
NameDescribe
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.