函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:COMPAT_SYSCALL_DEFINE3

函数原型:COMPAT_SYSCALL_DEFINE3(get_robust_list, int, pid, compat_uptr_t __user *, head_ptr, compat_size_t __user *, len_ptr)

返回类型:

参数:

4068  __userhead
4072  如果非futex_cmpxchg_enabled则返回:负ENOSYS
4075  _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
4077  ret等于负ESRCH
4078  如果(!pid)则p等于当前进程
4080  否则
4081  p等于find_task_by_vpid(pid)
4082  如果非p则转到:err_unlock
4086  ret等于负EPERM
4087  如果非ptrace_may_access(p, PTRACE_MODE_READ_REALCREDS)则转到:err_unlock
4090  head等于compat_robust_list
4091  _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()
4093  如果put_user - Write a simple value into user space(head的长度, len_ptr)则返回:负EFAULT
4095  返回:put_user - Write a simple value into user space(ptr_to_compat(head), head_ptr)
4097  err_unlock :
4098  _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()
4100  返回:ret