函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Interrupts are disabled on entry as trap1 is an interrupt gate and they* remain disabled throughout this function.

函数原型:int kprobe_debug_handler(struct pt_regs *regs)

返回类型:int

参数:

类型参数名称
struct pt_regs *regs
980  cur等于kprobe_running() will just return the current_kprobe on this CPU
981  kcb等于get_kprobe_ctlblk()
983  如果非cur则返回:0
986  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
987  flags或等于kprobe_saved_flags
989  如果kprobe_status不等于KPROBE_REENTER Called after addr is executed, unless...
990  kprobe_status等于KPROBE_HIT_SSDONE
991  Called after addr is executed, unless... (cur, regs, 0)
995  如果kprobe_status恒等于KPROBE_REENTER
996  restore_previous_kprobe(kcb)
997  转到:out
999  reset_current_kprobe()
1000  out :
1006  如果flags按位与X86_EFLAGS_TF则返回:0
1009  返回:1
调用者
名称描述
do_debugOur handling of the processor debug registers is non-trivial.* We do not clear them on entry and exit from the kernel. Therefore* it is possible to get a watchpoint trap here from inside the kernel.* However, the code in