函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:get_futex_value_locked

函数原型:static int get_futex_value_locked(unsigned int *dest, unsigned int __user *from)

返回类型:int

参数:

类型参数名称
unsigned int *dest
unsigned int __user *from
799  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.
800  ret等于__get_user - Get a simple variable from user space, with less checking( * dest, from)
801  pagefault_enable()
803  返回:如果ret则负EFAULT否则0
调用者
名称描述
attach_to_pi_stateValidate that the existing waiter has a pi_state and sanity check* the pi_state against the user space value. If correct, attach to* it.
handle_exit_race
futex_lock_pi_atomicex_lock_pi_atomic() - Atomic work required to acquire a pi aware futex*@uaddr: the pi futex user address*@hb: the pi futex hash bucket*@key: the futex key associated with uaddr and hb*@ps: the pi_state pointer where we store the result of the* lookup
futex_proxy_trylock_atomicex_proxy_trylock_atomic() - Attempt an atomic lock for the top waiter*@pifutex: the user address of the to futex*@hb1: the from futex hash bucket, must be locked by the caller*@hb2: the to futex hash bucket, must be locked by the caller*@key1: the from
futex_requeueex_requeue() - Requeue waiters from uaddr1 to uaddr2*@uaddr1: source futex user address*@flags: futex flags (FLAGS_SHARED, etc
fixup_pi_state_owner
futex_wait_setupex_wait_setup() - Prepare to wait on a futex*@uaddr: the futex userspace address*@val: the expected value*@flags: futex flags (FLAGS_SHARED, etc.)*@q: the associated futex_q*@hb: storage for hash_bucket pointer to be returned to caller