函数逻辑报告 |
Source Code:kernel\rseq.c |
Create Date:2022-07-27 15:12:39 |
Last Modify:2022-05-20 08:09:32 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:rseq_get_rseq_cs
函数原型:static int rseq_get_rseq_cs(struct task_struct *t, struct rseq_cs *rseq_cs)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct task_struct * | t | |
struct rseq_cs * | rseq_cs |
123 | 如果copy_from_user( & ptr, & ptr64, ptr的长度)则返回:负EFAULT |
125 | 如果非ptr则 |
132 | 如果copy_from_user(rseq_cs, urseq_cs, rseq_cs的长度)则返回:负EFAULT |
135 | 如果start_ip大于等于TASK_SIZE或start_ip加Offset from start_ip. 大于等于TASK_SIZE或abort_ip大于等于TASK_SIZE或Version of this structure. 大于0则返回:负EINVAL |
141 | 如果start_ip加Offset from start_ip. 小于start_ip则返回:负EINVAL |
144 | 如果abort_ip减start_ip小于Offset from start_ip. 则返回:负EINVAL |
148 | ret等于Careful: we have to cast the result to the type of the pointer* for sign reasons(sig, usig) |
153 | atelimited messages with local ratelimit_state,* no local ratelimit_state used in the !PRINTK case(warning conditions "Possible attack attempt. Unexpected rseq signature 0x%x, expecting 0x%x (pid=%d, addr=%p).\n", sig, rseq_sig, pid, usig) |
156 | 返回:负EINVAL |
158 | 返回:0 |
名称 | 描述 |
---|---|
rseq_ip_fixup |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |