函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ault_in_user_writeable() - Fault in user address and verify RW access*@uaddr: pointer to faulting user space address* Slow path to fixup the fault we just took in the atomic write* access to @uaddr

函数原型:static int fault_in_user_writeable(unsigned int __user *uaddr)

返回类型:int

参数:

类型参数名称
unsigned int __user *uaddr
753  mm等于mm
756  lock for reading
757  ret等于xup_user_fault() - manually resolve a user page fault*@tsk: the task_struct to use for page fault accounting, or* NULL if faults are not to be recorded
759  lease a read lock
761  返回:如果ret小于0则ret否则0
调用者
名称描述
futex_wake_opWake up all waiters hashed on the physical page that is mapped* to this virtual address:
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_lock_piUserspace tried a 0 -> TID atomic transition of the futex value* and failed. The kernel side here does the whole locking operation:* if there are waiters then it will block as a consequence of relying* on rt-mutexes, it does PI, etc
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: