函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Called after single-stepping. p->addr is the address of the* instruction whose first byte has been replaced by the "int 3"* instruction. To avoid the SMP problems that can occur when we* temporarily put back the original opcode to single-step, we

函数原型:static void resume_execution(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb)

返回类型:void

参数:

类型参数名称
struct kprobe *p
struct pt_regs *regs
struct kprobe_ctlblk *kcb
914  tos等于stack_addr(regs)
915  copy_ip等于copy of the original instruction
916  orig_ip等于 location of the probe point
917  insn等于copy of the original instruction
920  insn等于Skip the prefixes of the instruction.
922  flags与等于X86_EFLAGS_TF的反
924  :insn恒等于0x9c
925  tos与等于X86_EFLAGS_TF按位或X86_EFLAGS_IF的值的反
926  tos或等于kprobe_old_flags
927  退出
928  :insn恒等于0xc2
929  :insn恒等于0xc3
930  :insn恒等于0xca
931  :insn恒等于0xcb
932  :insn恒等于0xcf
933  :insn恒等于0xea
935  stable = false: This instruction type is not boostable.* boostable = true: This instruction has been boosted: we have* added a relative jump after the instruction copy in insn,* so no single-step and fixup are needed (unless there's* a post_handler). = true
936  转到:no_change
937  :insn恒等于0xe8
938  tos等于orig_iptoscopy_ip
939  退出
941  :insn恒等于0x9a
942  tos等于orig_iptoscopy_ip
943  转到:no_change
945  :insn恒等于0xff
946  如果insn[1]按位与0x30的值恒等于0x10则
952  tos等于orig_iptoscopy_ip
953  转到:no_change
954  否则如果insn[1]按位与0x31的值恒等于0x20或insn[1]按位与0x31的值恒等于0x21则
961  转到:no_change
963  默认
964  退出
967  ip加等于orig_ipcopy_ip
969  no_change :
970  restore_btf()
调用者
名称描述
kprobe_debug_handlerInterrupts are disabled on entry as trap1 is an interrupt gate and they* remain disabled throughout this function.