Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:ipc\util.c Create Date:2022-07-28 16:39:45
Last Modify:2022-05-23 18:05:07 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:pcget_public - get an ipc object or create a new one*@ns: ipc namespace*@ids: ipc identifier set*@ops: the actual creation routine to call*@params: its parameters* This routine is called by sys_msgget, sys_semget() and sys_shmget()

Proto:static int ipcget_public(struct ipc_namespace *ns, struct ipc_ids *ids, const struct ipc_ops *ops, struct ipc_params *params)

Type:int

Parameter:

TypeParameterName
struct ipc_namespace *ns
struct ipc_ids *ids
const struct ipc_ops *ops
struct ipc_params *params
400  flg = flg
407  lock for writing
408  ipcp = pc_findkey - find a key in an ipc identifier set*@ids: ipc identifier set*@key: key to find* Returns the locked pointer to the ipc structure if found or NULL* otherwise. If key is found ipc points to the owning ipc structure* Called with writer ipc_ids
409  If (ipcp == NULL) Then
411  If Not (flg & create if key is nonexistent ) Then err = -ENOENT
413  Else err = getnew(ns, params)
415  Else
418  If flg & create if key is nonexistent && flg & ail if key exists Then err = -EEXIST
420  Else
421  err = 0
422  If more_checks Then err = more_checks(ipcp, params)
431  ipc_unlock(ipcp)
433  lease a write lock
435  Return err
Caller
NameDescribe
ipcgetpcget - Common sys_*get() code*@ns: namespace*@ids: ipc identifier set*@ops: operations to be called on ipc object creation, permission checks* and further checks*@params: the parameters needed by the previous operations.