Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

ipc/util.c ipcget_public() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
PARAM_VALUE 0 perm->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 perm r ipc_findkey
NOCHECK_CALL
LOCK2 &ids->rwsem
LOCK2 rcu_read
TYPE_LOCK (struct ipc_ids)->rwsem

ipc/util.c sysvipc_proc_next() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 2-ptr_max
DATA_SOURCE 0 perm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
TYPE_LOCK (struct seq_file)->lock

ipc/util.c sysvipc_proc_stop() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 2-u64max
DATA_SOURCE 0 perm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
TYPE_LOCK (struct seq_file)->lock

ipc/shm.c __shm_close() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ipcp->lock
LOCK2 rcu_read

ipc/shm.c __shm_open() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ipcp->lock
LOCK2 rcu_read

ipc/shm.c __shm_open() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ipcp->lock
LOCK2 rcu_read

ipc/shm.c do_shm_rmid() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
PARAM_VALUE 0 perm->key 0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &ids->rwsem
HALF_LOCKED2 &ipcp->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &shp->shm_perm.lock
TYPE_LOCK (struct kern_ipc_perm)->lock

ipc/shm.c do_shmat() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &ipcp->lock
HALF_LOCKED2 rcu_read

ipc/shm.c exit_shm() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
PARAM_VALUE 0 perm->deleted 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &shp->shm_perm.lock
LOCK2 rcu_read
TYPE_LOCK (struct kern_ipc_perm)->lock

ipc/shm.c exit_shm() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
PARAM_VALUE 0 perm->deleted 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &shp->shm_perm.lock
LOCK2 rcu_read
TYPE_LOCK (struct kern_ipc_perm)->lock

ipc/shm.c shm_destroy() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
PARAM_VALUE 0 perm->deleted 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ipcp->lock
HALF_LOCKED2 &shp->shm_perm.lock
HALF_LOCKED2 rcu_read

ipc/shm.c shm_try_destroy_orphaned() -> ipc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 perm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &shp->shm_perm.lock
LOCK2 rcu_read
HALF_LOCKED2 &ab->core_lock
HALF_LOCKED2 &ah->hw->wiphy->mtx
HALF_LOCKED2 &ar->conf_mutex
HALF_LOCKED2 &ar->data_lock
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &fpriv->lock
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 bh
HALF_LOCKED2 global &device_mutex
HALF_LOCKED2 global &nbd_index_mutex
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 global &sg_index_lock
HALF_LOCKED2 iflags
TYPE_LOCK (struct kern_ipc_perm)->lock