Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\select.c Create Date:2022-07-28 20:07:07
Last Modify:2020-03-18 10:25:38 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:do_compat_pselect

Proto:static long do_compat_pselect(int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, void __user *tsp, compat_sigset_t __user *sigmask, compat_size_t sigsetsize, enum poll_time_type type)

Type:long

Parameter:

TypeParameterName
intn
compat_ulong_t __user *inp
compat_ulong_t __user *outp
compat_ulong_t __user *exp
void __user *tsp
compat_sigset_t __user *sigmask
compat_size_tsigsetsize
enum poll_time_typetype
1298  struct timespec64 ts, end_time, * to = NULL
1301  If tsp Then
1303  Case type == PT_OLD_TIMESPEC
1304  If get_old_timespec32( & ts, tsp) Then Return -EFAULT
1306  Break
1307  Case type == PT_TIMESPEC
1308  If get_timespec64( & ts, tsp) Then Return -EFAULT
1310  Break
1311  Default
1312  BUG()
1315  to = end_time
1316  If poll_select_set_timeout - helper function to setup the timeout value*@to: pointer to timespec64 variable for the final timeout*@sec: seconds (from user space)*@nsec: nanoseconds (from user space)* Note, we do not use a timespec for the user space value Then Return -EINVAL
1320  ret = set_compat_user_sigmask(sigmask, sigsetsize)
1321  If ret Then Return ret
1324  ret = We can actually return ERESTARTSYS instead of EINTR, but I'd* like to be certain this leads to no problems. So I return* EINTR just for safety.* Update: ERESTARTSYS breaks at least the xview clock binary, so
1325  Return poll_select_finish( & end_time, tsp, type, ret)
Caller
NameDescribe
COMPAT_SYSCALL_DEFINE6