Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\futex.c Create Date:2022-07-28 10:55:08
Last Modify:2020-03-17 15:28:32 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:do_futex

Proto: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)

Type:long

Parameter:

TypeParameterName
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  If Not (op & FUTEX_PRIVATE_FLAG) Then flags |= Futex flags used to encode options to functions and preserve them across* restarts.
3860  If op & FUTEX_CLOCK_REALTIME Then
3861  flags |= FLAGS_CLOCKRT
3863  If cmd != Second argument to futex syscall && cmd != FUTEX_WAIT_BITSET && cmd != FUTEX_WAIT_REQUEUE_PI Then Return -ENOSYS
3868  Case cmd == FUTEX_LOCK_PI
3869  Case cmd == FUTEX_UNLOCK_PI
3870  Case cmd == FUTEX_TRYLOCK_PI
3871  Case cmd == FUTEX_WAIT_REQUEUE_PI
3872  Case cmd == FUTEX_CMP_REQUEUE_PI
3873  If Not futex_cmpxchg_enabled Then Return -ENOSYS
3881  Case cmd == FUTEX_WAIT_BITSET
3882  Return futex_wait(uaddr, flags, val, timeout, val3)
3883  Case cmd == FUTEX_WAKE
3886  Case cmd == FUTEX_WAKE_BITSET
3888  Case cmd == FUTEX_REQUEUE
3890  Case cmd == FUTEX_CMP_REQUEUE
3892  Case cmd == FUTEX_WAKE_OP
3894  Case cmd == FUTEX_LOCK_PI
3896  Case cmd == FUTEX_UNLOCK_PI
3898  Case cmd == FUTEX_TRYLOCK_PI
3900  Case cmd == FUTEX_WAIT_REQUEUE_PI
3904  Case cmd == FUTEX_CMP_REQUEUE_PI
3907  Return -ENOSYS
Caller
NameDescribe
SYSCALL_DEFINE6