函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\signal.c Create Date:2022-07-27 08:30:01
Last Modify:2022-05-22 06:23:02 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:__setup_rt_frame

函数原型:static int __setup_rt_frame(int sig, struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)

返回类型:int

参数:

类型参数名称
intsig
struct ksignal *ksig
sigset_t *set
struct pt_regs *regs
378  __userframe
379  __userrestorer
380  err等于0
381  void __user * fpstate = NULL
383  frame等于get_sigframe( & ka, regs, frame的长度, & fpstate)
385  如果非access_ok - Checks if a user space pointer is valid*@addr: User space pointer to start of block to check*@size: Size of block to check* Context: User context only. This function may sleep if pagefaults are* enabled.(frame, frame的长度)则返回:负EFAULT
388  put_user_try
389  put_user_ex(sig, & sig)
390  put_user_ex( & info, & pinfo)
391  put_user_ex( & uc, & puc)
394  如果static_cpu_has(XSAVE/XRSTOR/XSETBV/XGETBV instructions )则put_user_ex(Indicates the presence of extended state information in the memory* layout pointed by the fpstate pointer in the ucontext's sigcontext* struct (uc_mcontext)., & uc_flags)
396  否则put_user_ex(0, & uc_flags)
398  put_user_ex(0, & uc_link)
402  restorer等于vdsosym___kernel_rt_sigreturn
404  如果sa_flags按位与SA_RESTORERrestorer等于sa_restorer
406  put_user_ex(restorer, & pretcode)
415  put_user_ex( * ((u64 * ) & rt_retcode), (u64 * )retcode)
416  put_user_catch(err)
418  err或等于copy_siginfo_to_user( & info, & info)
419  err或等于setup_sigcontext( & uc_mcontext, fpstate, regs, 信号[0])
421  err或等于__copy_to_user( & mask last for extensibility , set, set的长度)
423  如果err则返回:负EFAULT
427  sp等于frame
428  ip等于sa_handler
429  ax等于sig
430  dx = (unsigned long) & info
431  cx = (unsigned long) & uc
433  ds等于__USER_DS
434  es等于__USER_DS
435  ss等于__USER_DS
436  cs等于__USER_CS
438  返回:0
调用者
名称描述
setup_rt_frame