函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:kern_select

函数原型:static int kern_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, struct __kernel_old_timeval __user *tvp)

返回类型:int

参数:

类型参数名称
intn
fd_set __user *inp
fd_set __user *outp
fd_set __user *exp
struct __kernel_old_timeval __user *tvp
703  struct timespec64 end_time, * to = NULL
707  如果tvp
708  如果copy_from_user( & tv, tvp, tv的长度)则返回:负EFAULT
711  to等于end_time
712  如果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
718  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
719  返回:poll_select_finish( & end_time, tvp, PT_TIMEVAL, ret)
调用者
名称描述
SYSCALL_DEFINE5
SYSCALL_DEFINE1