函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:ipc\shm.c Create Date:2022-07-27 18:21:48
Last Modify:2020-03-17 22:58:32 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:shm_lock_(check_) routines are called in the paths where the rwsem* is not necessarily held.

函数原型:static inline struct shmid_kernel *shm_lock(struct ipc_namespace *ns, int id)

返回类型:struct shmid_kernel

参数:

类型参数名称
struct ipc_namespace *ns
intid
184  _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
185  ipcp等于pc_obtain_object_idr*@ids: ipc identifier set*@id: ipc id to look for* Look for an id in the ipc ids idr and return associated ipc object.* Call inside the RCU critical section.* The ipc object is *not* locked on exit.
186  如果是错误则转到:err
189  ipc_lock_object(ipcp)
196  如果pc_valid_object() - helper to sort out IPC_RMID races for codepaths* where the respective ipc_ids.rwsem is not being held down.* Checks whether the ipc object is still around or if it's gone already, as
198  返回:container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(ipcp, structshmid_kernel, shm_perm)
201  ipc_unlock_object(ipcp)
202  ipcp等于错误号
203  err :
204  _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()
209  返回:错误指示
调用者
名称描述
__shm_open
shm_close
do_shmatFix shmaddr, allocate descriptor, map shm, add attach descriptor to lists.* NOTE! Despite the name, this is NOT a direct system call entrypoint. The* "raddr" thing points to kernel space, and there has to be a wrapper around* this.