Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:sys_get_robust_list() - Get the robust-futex list head of a task*@pid: pid of the process [zero for current task]*@head_ptr: pointer to a list-head pointer, the kernel fills it in*@len_ptr: pointer to a length field, the kernel fills in the header size

Proto:SYSCALL_DEFINE3(get_robust_list, int, pid, struct robust_list_head __user *__user *, head_ptr, size_t __user *, len_ptr)

Type:

Parameter:Nothing

3507  __user * head
3511  If Not futex_cmpxchg_enabled Then Return -ENOSYS
3514  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
3516  ret = -ESRCH
3517  If (!pid) Then p = current process
3519  Else
3520  p = find_task_by_vpid(pid)
3521  If Not p Then Go to err_unlock
3525  ret = -EPERM
3526  If Not ptrace_may_access(p, PTRACE_MODE_READ_REALCREDS) Then Go to err_unlock
3529  head = robust_list
3530  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
3532  If Write a simple value into user space( size of head , len_ptr) Then Return -EFAULT
3534  Return Write a simple value into user space(head, head_ptr)
3536  err_unlock :
3537  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
3539  Return ret