Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:SYSCALL_DEFINE6

Proto:SYSCALL_DEFINE6(futex, unsigned int __user *, uaddr, int, op, unsigned int, val, struct __kernel_timespec __user *, utime, unsigned int __user *, uaddr2, unsigned int, val3)

Type:

Parameter:Nothing

3916  ktime_t t, * tp = NULL
3917  val2 = 0
3918  cmd = op & FUTEX_CMD_MASK
3920  If utime && ( cmd == Second argument to futex syscall || cmd == FUTEX_LOCK_PI || cmd == FUTEX_WAIT_BITSET || cmd == FUTEX_WAIT_REQUEUE_PI ) Then
3923  If Value for the false possibility is greater at compile time(should_fail_futex(!(op & FUTEX_PRIVATE_FLAG))) Then Return -EFAULT
3925  If get_timespec64( & ts, utime) Then Return -EFAULT
3927  If Not Returns true if the timespec64 is norm, false if denorm: Then Return -EINVAL
3930  t = vert a timespec64 to ktime_t format:
3931  If cmd == Second argument to futex syscall Then t = Add two ktime values and do a safety check for overflow:
3933  tp = t
3939  If cmd == FUTEX_REQUEUE || cmd == FUTEX_CMP_REQUEUE || cmd == FUTEX_CMP_REQUEUE_PI || cmd == FUTEX_WAKE_OP Then val2 = utime
3943  Return do_futex(uaddr, op, val, tp, uaddr2, val2, val3)