函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\select.c Create Date:2022-07-29 10:37:07
Last Modify:2020-03-18 10:25:38 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:do_compat_pselect

函数原型: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)

返回类型:long

参数:

类型参数名称
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  如果tsp
1303  :type恒等于PT_OLD_TIMESPEC
1304  如果get_old_timespec32( & ts, tsp)则返回:负EFAULT
1306  退出
1307  :type恒等于PT_TIMESPEC
1308  如果get_timespec64( & ts, tsp)则返回:负EFAULT
1310  退出
1311  默认
1312  BUG()
1315  to等于end_time
1316  如果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 则返回:负EINVAL
1320  ret等于set_compat_user_sigmask(sigmask, sigsetsize)
1321  如果ret则返回: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  返回:poll_select_finish( & end_time, tsp, type, ret)
调用者
名称描述
COMPAT_SYSCALL_DEFINE6