函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:is_trap_at_addr

函数原型:static int is_trap_at_addr(struct mm_struct *mm, unsigned long vaddr)

返回类型:int

参数:

类型参数名称
struct mm_struct *mm
unsigned longvaddr
2017  These routines enable/disable the pagefault handler. If disabled, it will* not take any locks and go straight to the fixup table.* User access methods will not sleep when called from a pagefault_disabled()* environment.
2018  result等于__get_user - Get a simple variable from user space, with less checking(opcode, (uprobe_opcode_t__user * )vaddr)
2019  pagefault_enable()
2021  如果此条件成立可能性大(为编译器优化)(result == 0)则转到:out
2030  result等于get_user_pages_remote(NULL, mm, vaddr, 1, get_user_pages read/write w/o permission , & page, NULL, NULL)
2032  如果result小于0则返回:result
2035  copy_from_page(page, vaddr, & opcode, UPROBE_SWBP_INSN_SIZE)
2036  put_page(page)
2037  out :
2039  返回:s_trap_insn - check if instruction is breakpoint instruction
调用者
名称描述
find_active_uprobe