函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:cmpxchg_futex_value_locked

函数原型:static int cmpxchg_futex_value_locked(unsigned int *curval, unsigned int __user *uaddr, unsigned int uval, unsigned int newval)

返回类型:int

参数:

类型参数名称
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  返回:ret
调用者
名称描述
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