Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/fork.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock

fs/verity/enable.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0

mm/kasan/kasan_test_c.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0

block/bdev.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0
RX_PATH
TASK_NOT_RUNNING

kernel/events/core.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0

sound/core/pcm_native.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock

fs/kernel_read_file.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0
RX_PATH
TASK_NOT_RUNNING

mm/memfd.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 260,4096-ptr_max
DATA_SOURCE 0 v $0
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/binfmt_misc.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0

fs/exec.c atomic_dec_unless_positive() -> raw_atomic_dec_unless_positive()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
DATA_SOURCE 0 v $0