Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/huge_memory.c folio_unlock_large_mapcount() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 31
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 dst_ptl
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/rmap.c folio_unlock_large_mapcount() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 31
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &folio->private->lock
HALF_LOCKED2 &vma->vm_private_data->rw_sema

fs/mbcache.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/gfs2/quota.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &qd_lock

mm/memory.c folio_unlock_large_mapcount() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 31
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 dst_ptl
HALF_LOCKED2 rcu_read
HALF_LOCKED2 src_ptl
HALF_LOCKED2 vmf->ptl

net/netfilter/ipvs/ip_vs_ctl.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ipvs->service_mutex
HALF_LOCKED2 &ipvs->svc_resize_sem
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/netfilter/ipvs/ip_vs_conn.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cp->lock
HALF_LOCKED2 bh

fs/netfs/fscache_volume.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/netfs/fscache_cookie.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/dcache.c hlist_bl_unlock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 0
PARAM_VALUE 1 addr 4096-ptr_max
DATA_SOURCE 1 addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &entry->d_lockref.lock
HALF_LOCKED2 rcu_read

lib/test_context-analysis.c test_bit_spin_lock() -> __bit_spin_unlock()

Type Parameter Key Value
PARAM_VALUE 0 bitnum 3
PREEMPT_ADD <- disables preempt
NOCHECK_CALL