Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:cmpxchg_futex_value_locked

Proto:static int cmpxchg_futex_value_locked(unsigned int *curval, unsigned int __user *uaddr, unsigned int uval, unsigned int newval)

Type:int

Parameter:

TypeParameterName
unsigned int *curval
unsigned int __user *uaddr
unsigned intuval
unsigned intnewval
788  These routines enable/disable the pagefault handler. If disabled, it will* not take any locks and go straight to the fixup table.* User access methods will not sleep when called from a pagefault_disabled()* environment.
789  ret = futex_atomic_cmpxchg_inatomic(curval, uaddr, uval, newval)
790  pagefault_enable()
792  Return ret
Caller
NameDescribe
lock_pi_update_atomic
wake_futex_piCaller must hold a reference on @pi_state.
fixup_pi_state_owner
futex_unlock_piUserspace attempted a TID -> 0 atomic transition, and failed.* This is the in-kernel slowpath: we look up the PI state (if any),* and do the rt-mutex unlock.
handle_futex_deathProcess a futex-list entry, check whether it's owned by the* dying task, and do notification if so:
futex_detect_cmpxchg