函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\futex.c Create Date:2022-07-27 11:55:21
Last Modify:2020-03-17 15:28:32 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:SYSCALL_DEFINE6

函数原型:SYSCALL_DEFINE6(futex, unsigned int __user *, uaddr, int, op, unsigned int, val, struct __kernel_timespec __user *, utime, unsigned int __user *, uaddr2, unsigned int, val3)

返回类型:

参数:

3916  ktime_t t, * tp = NULL
3917  val2等于0
3918  cmd等于op按位与FUTEX_CMD_MASK
3920  如果utimecmd恒等于Second argument to futex syscall cmd恒等于FUTEX_LOCK_PIcmd恒等于FUTEX_WAIT_BITSETcmd恒等于FUTEX_WAIT_REQUEUE_PI的值则
3923  如果此条件成立可能性小(为编译器优化)(should_fail_futex(!(op & FUTEX_PRIVATE_FLAG)))则返回:负EFAULT
3925  如果get_timespec64( & ts, utime)则返回:负EFAULT
3927  如果非Returns true if the timespec64 is norm, false if denorm:则返回:负EINVAL
3930  t等于vert a timespec64 to ktime_t format:
3931  如果cmd恒等于Second argument to futex syscall t等于Add two ktime values and do a safety check for overflow:
3933  tp等于t
3939  如果cmd恒等于FUTEX_REQUEUEcmd恒等于FUTEX_CMP_REQUEUEcmd恒等于FUTEX_CMP_REQUEUE_PIcmd恒等于FUTEX_WAKE_OPval2等于utime
3943  返回:do_futex(uaddr, op, val, tp, uaddr2, val2, val3)