函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称:arch_uretprobe_hijack_return_addr

函数原型:unsigned long arch_uretprobe_hijack_return_addr(unsigned long trampoline_vaddr, struct pt_regs *regs)

返回类型:unsigned long

参数:

类型参数名称
unsigned longtrampoline_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
1076  如果nleft不等于rasize
1077  打印错误信息("return address clobbered: pid=%d, %%sp=%#lx, %%ip=%#lx\n", pid, sp, Return frame for iretq )
1080  force_sig(SIGSEGV)
1083  返回:负1
调用者
名称描述
prepare_uretprobe