Documented in 1 files:

Defined in 1 files as a function:

Referenced in 13 files:

Smatch caller information:

kernel/trace/tracing_map.c get_free_elt() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

net/rxrpc/peer_event.c __rxrpc_use_local() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 0
PREEMPT_ADD
LOCK2 &rxnet->peer_hash_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct rxrpc_net)->peer_hash_lock

drivers/net/wireless/intel/iwlwifi/mld/tx.c iwl_mld_tx_from_txq() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/rxrpc/conn_event.c __rxrpc_use_local() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 0
HALF_LOCKED2 &pool->lock

drivers/infiniband/core/rdma_core.c uverbs_try_lock_object() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u (-1)
RX_PATH
HALF_LOCKED2 &ufile->device->disassociate_srcu

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_mac_itxq_xmit() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mvm->mutex
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/block/rbd.c atomic_inc_return_safe() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 0
DATA_SOURCE 0 v $0
HALF_LOCKED2 &obj_req->state_mutex
HALF_LOCKED2 &parent->header_rwsem
HALF_LOCKED2 &rbd_dev->header_rwsem
TYPE_LOCK (struct rbd_device)->header_rwsem

drivers/net/ovpn/crypto_aead.c ovpn_pktid_xmit_next() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 bh

drivers/infiniband/hw/hfi1/netdev_rx.c hfi1_netdev_rx_destroy() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a (-1)
PARAM_VALUE 2 u 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

fs/netfs/fscache_cookie.c __fscache_unuse_cookie() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a (-1)
PARAM_VALUE 2 u 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vnode->validate_lock

drivers/firmware/efi/efi.c efi_mem_reserve_persistent() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1

drivers/infiniband/hw/hfi1/chip.c hfi1_deinit_aip_rsm() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a (-1)
PARAM_VALUE 2 u 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

net/rxrpc/local_object.c __rxrpc_use_local() -> atomic_fetch_add_unless()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 1 a 1
PARAM_VALUE 2 u 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rx->sk
LOCK2 &rxnet->local_mutex
TYPE_LOCK (struct rxrpc_net)->local_mutex
TYPE_LOCK (struct rxrpc_sock)->sk