Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\signal.c Create Date:2022-07-28 09:18:02
Last Modify:2020-03-17 13:28:47 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:COMPAT_SYSCALL_DEFINE4

Proto:COMPAT_SYSCALL_DEFINE4(rt_sigaction, int, sig, const struct compat_sigaction __user *, act, struct compat_sigaction __user *, oact, compat_size_t, sigsetsize)

Type:

Parameter:Nothing

4265  If sigsetsize != sizeof(compat_sigset_t) Then Return -EINVAL
4268  If act Then
4270  ret = Get a simple variable from user space(handler, & sa_handler)
4271  sa_handler = A pointer passed in from user mode. This should not* be used for syscall parameters, just declare them* as pointers because the syscall entry code will have* appropriately converted them already.
4273  ret |= Get a simple variable from user space(restorer, & sa_restorer)
4274  sa_restorer = A pointer passed in from user mode. This should not* be used for syscall parameters, just declare them* as pointers because the syscall entry code will have* appropriately converted them already.
4276  ret |= get_compat_sigset( & mask last for extensibility , & sa_mask)
4277  ret |= Get a simple variable from user space(sa_flags, & sa_flags)
4278  If ret Then Return -EFAULT
4282  ret = do_sigaction(sig, act ? & new_ka : NULL, oact ? & old_ka : NULL)
4283  If Not ret && oact Then
4284  ret = Write a simple value into user space(ptr_to_compat(sa_handler), & sa_handler)
4286  ret |= Defined inline such that size can be compile time constant, which avoids* CONFIG_HARDENED_USERCOPY complaining about copies from task_struct
4288  ret |= Write a simple value into user space(sa_flags, & sa_flags)
4290  ret |= Write a simple value into user space(ptr_to_compat(sa_restorer), & sa_restorer)
4294  Return ret