Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\signal.c Create Date:2022-07-28 07:30:44
Last Modify:2022-05-22 06:23:02 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__setup_rt_frame

Proto:static int __setup_rt_frame(int sig, struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)

Type:int

Parameter:

TypeParameterName
intsig
struct ksignal *ksig
sigset_t *set
struct pt_regs *regs
378  __user * frame
379  __user * restorer
380  err = 0
381  void __user * fpstate = NULL
383  frame = get_sigframe( & ka, regs, size of frame , & fpstate)
385  If Not 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, size of frame ) Then Return -EFAULT
388  put_user_try
389  put_user_ex(sig, & sig)
390  put_user_ex( & info, & pinfo)
391  put_user_ex( & uc, & puc)
394  If static_cpu_has(XSAVE/XRSTOR/XSETBV/XGETBV instructions ) Then 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  Else put_user_ex(0, & uc_flags)
398  put_user_ex(0, & uc_link)
402  restorer = vdso + sym___kernel_rt_sigreturn
404  If sa_flags & SA_RESTORER Then restorer = 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, sig[0])
421  err |= __copy_to_user( & mask last for extensibility , set, size of set )
423  If err Then Return -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  Return 0
Caller
NameDescribe
setup_rt_frame