函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:do_futex

函数原型:long do_futex(unsigned int __user *uaddr, int op, unsigned int val, ktime_t *timeout, unsigned int __user *uaddr2, unsigned int val2, unsigned int val3)

返回类型:long

参数:

类型参数名称
unsigned int __user *uaddr
intop
unsigned intval
ktime_t *timeout
unsigned int __user *uaddr2
unsigned intval2
unsigned intval3
3854  cmd等于op按位与FUTEX_CMD_MASK
3855  flags等于0
3857  如果非op按位与FUTEX_PRIVATE_FLAG的值则flags或等于Futex flags used to encode options to functions and preserve them across* restarts.
3860  如果op按位与FUTEX_CLOCK_REALTIME
3861  flags或等于FLAGS_CLOCKRT
3863  如果cmd不等于Second argument to futex syscall cmd不等于FUTEX_WAIT_BITSETcmd不等于FUTEX_WAIT_REQUEUE_PI则返回:负ENOSYS
3868  :cmd恒等于FUTEX_LOCK_PI
3869  :cmd恒等于FUTEX_UNLOCK_PI
3870  :cmd恒等于FUTEX_TRYLOCK_PI
3871  :cmd恒等于FUTEX_WAIT_REQUEUE_PI
3872  :cmd恒等于FUTEX_CMP_REQUEUE_PI
3873  如果非futex_cmpxchg_enabled则返回:负ENOSYS
3881  :cmd恒等于FUTEX_WAIT_BITSET
3882  返回:futex_wait(uaddr, flags, val, timeout, val3)
3883  :cmd恒等于FUTEX_WAKE
3886  :cmd恒等于FUTEX_WAKE_BITSET
3888  :cmd恒等于FUTEX_REQUEUE
3890  :cmd恒等于FUTEX_CMP_REQUEUE
3892  :cmd恒等于FUTEX_WAKE_OP
3894  :cmd恒等于FUTEX_LOCK_PI
3896  :cmd恒等于FUTEX_UNLOCK_PI
3898  :cmd恒等于FUTEX_TRYLOCK_PI
3900  :cmd恒等于FUTEX_WAIT_REQUEUE_PI
3904  :cmd恒等于FUTEX_CMP_REQUEUE_PI
3907  返回:负ENOSYS
调用者
名称描述
SYSCALL_DEFINE6