Documented in 1 files:
Defined in 1 files as a function:
Referenced in 5 files:
- drivers/accel/habanalabs/common/hw_queue.c, line 152
- drivers/infiniband/core/cm.c, line 1872
- mm/kasan/kasan_test_c.c, line 800
- mm/rmap.c
- rust/helpers/atomic.c, line 467
Smatch caller information:
mm/rmap.c __folio_remove_rmap() -> atomic_add_negative()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | (-1) |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &folio->private->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &vma->anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema | ||
| HALF_LOCKED2 | global &ksm_thread_mutex | ||
| HALF_LOCKED2 | ptl | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | vmf->ptl |
mm/rmap.c __folio_remove_rmap() -> atomic_add_negative()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | (-1) |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | ptl |
mm/kasan/kasan_test_c.c kasan_atomics_helper() -> atomic_add_negative()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | 42 |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| DATA_SOURCE | 1 | v | $1 |
| NOCHECK_CALL |
drivers/infiniband/core/cm.c cm_process_work() -> atomic_add_negative()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | (-1) |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
drivers/infiniband/core/cm.c cm_process_work() -> atomic_add_negative()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | (-1) |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| HALF_LOCKED2 | &pool->lock |
drivers/accel/habanalabs/common/hw_queue.c ext_queue_sanity_checks() -> atomic_add_negative()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | i | (-65535)-(-1) |
| PARAM_VALUE | 1 | v | 4096-ptr_max |
| BUF_SIZE | 1 | v | 4 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| LOCK2 | &hdev->asic_specific->hw_queues_lock | ||
| LOCK2 | &hdev->asic_specific->hw_queues_lock |