函数逻辑报告 |
Source Code:arch\x86\kernel\uprobes.c |
Create Date:2022-07-27 09:47:08 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:arch_uretprobe_hijack_return_addr
函数原型:unsigned long arch_uretprobe_hijack_return_addr(unsigned long trampoline_vaddr, struct pt_regs *regs)
返回类型:unsigned long
参数:
类型 | 参数 | 名称 |
---|---|---|
unsigned long | trampoline_vaddr | |
struct pt_regs * | regs |
1062 | rasize等于sizeof_long(regs) |
1063 | orig_ret_vaddr等于0 |
1065 | 如果copy_from_user( & orig_ret_vaddr, (void__user * )sp, rasize)则返回:负1 |
1069 | 如果orig_ret_vaddr恒等于trampoline_vaddr则返回:orig_ret_vaddr |
1072 | nleft等于copy_to_user((void__user * )sp, & trampoline_vaddr, rasize) |
1073 | 如果此条件成立可能性大(为编译器优化)(!nleft)则返回:orig_ret_vaddr |
1077 | 打印错误信息("return address clobbered: pid=%d, %%sp=%#lx, %%ip=%#lx\n", pid, sp, Return frame for iretq ) |
1083 | 返回:负1 |
名称 | 描述 |
---|---|
prepare_uretprobe |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |