函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\kprobes.c Create Date:2022-07-27 12:39:36
Last Modify:2022-05-22 18:14:58 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:check_kprobe_address_safe

函数原型:static int check_kprobe_address_safe(struct kprobe *p, struct module **probed_mod)

返回类型:int

参数:

类型参数名称
struct kprobe *p
struct module **probed_mod
1553  ret等于arch_check_ftrace_location(p)
1554  如果ret则返回:ret
1556  jump_label_lock()
1557  禁止抢占()
1560  如果非kernel_text_address((unsignedlong) location of the probe point )或within_kprobe_blacklist((unsignedlong) location of the probe point )或jump_label_text_reserved( location of the probe point , location of the probe point )或find_bug((unsignedlong) location of the probe point )则
1564  ret等于负EINVAL
1565  转到:out
1569  probed_mod等于__module_text_address - get the module whose code contains an address.*@addr: the address.* Must be called with preempt disabled or module mutex held so that* module doesn't get freed during this.
1570  如果probed_mod
1576  ret等于负ENOENT
1577  转到:out
1586  module_put( * probed_mod)
1587  * probed_mod = NULL
1588  ret等于负ENOENT
1591  out :
1592  禁用抢占和中断()
1593  jump_label_unlock()
1595  返回:ret
调用者
名称描述
register_kprobe