函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:xup_owner() - Post lock pi_state and corner case management*@uaddr: user address of the futex*@q: futex_q (contains pi_state and access to the rt_mutex)*@locked: if the attempt to take the rt_mutex succeeded (1) or not (0)* After attempting to lock an

函数原型:static int fixup_owner(unsigned int __user *uaddr, struct futex_q *q, int locked)

返回类型:int

参数:

类型参数名称
unsigned int __user *uaddr
struct futex_q *q
intlocked
2628  ret等于0
2630  如果locked
2639  如果owner不等于当前进程ret等于fixup_pi_state_owner(uaddr, q, 当前进程)
2641  转到:out
2652  如果owner恒等于当前进程
2653  ret等于fixup_pi_state_owner(uaddr, q, NULL)
2654  转到:out
2661  如果rt_mutex_owner( & The PI object:)恒等于当前进程
2662  printk - print a kernel message*@fmt: format string* This is printk(). It can be called from any context. We want it to work.* We try to grab the console_lock. If we succeed, it's easy - we log the* output and call the console drivers
2668  out :
2669  返回:如果retret否则locked
调用者
名称描述
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_wait_requeue_piex_wait_requeue_pi() - Wait on uaddr and take uaddr2*@uaddr: the futex we initially wait on (non-pi)*@flags: futex flags (FLAGS_SHARED, FLAGS_CLOCKRT, etc