Documented in 1 files:

Defined in 1 files as a function:

Referenced in 23 files:

Smatch caller information:

net/ipv6/esp6.c esp6_output_head() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i (-2147483647)-s32max
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte

net/core/datagram.c __zerocopy_sg_from_iter() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte

net/packet/af_packet.c tpacket_fill_skb() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 0-s32max
PARAM_VALUE 1 r 4096-ptr_max
CAPPED_DATA 0 i 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 i 0-2147483645[c]
UNITS 0 i unit_byte
LOCK2 &po->pg_vec_lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct packet_sock)->pg_vec_lock

net/tls/tls_device_fallback.c complete_skb() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 1-s32max
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte

net/core/pktgen.c pktgen_xmit() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
NOCHECK_CALL

net/core/pktgen.c pktgen_xmit() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &txq->_xmit_lock

net/core/skbuff.c skb_expand_head() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/atm/br2684.c atm_account_tx() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 i
UNITS 0 i unit_byte
LOCK2 global &devs_lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/ipv4/tcp_offload.c tcp_gso_segment() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 0-s32max
PARAM_VALUE 1 r 4096-ptr_max
FUZZY_MAX 0 i 0
NOCHECK_CALL
UNITS 0 i unit_byte

drivers/iommu/iommufd/device.c iommufd_device_do_replace() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
DATA_SOURCE 0 i r iommufd_group_device_num
NOCHECK_CALL
LOCK2 &igroup->lock
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &vdev->dev_set->lock
TYPE_LOCK (struct iommufd_group)->lock

net/ipv4/udp_offload.c __udp_gso_segment() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 0-s32max
PARAM_VALUE 1 r 4096-ptr_max
FUZZY_MAX 0 i 0
NOCHECK_CALL
UNITS 0 i unit_byte

net/sctp/socket.c sctp_set_owner_w() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 256
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
HALF_LOCKED2 newsk
HALF_LOCKED2 oldsk
HALF_LOCKED2 sk

net/ipv4/esp4.c esp_output_head() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i (-2147483647)-s32max
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte

io_uring/io_uring.c io_task_refs_refill() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i s32min-(-2147482625),1025-s32max
PARAM_VALUE 1 r 4096-ptr_max
NOCHECK_CALL
LOCK2 &ctx->uring_lock
HALF_LOCKED2 &sqd->lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

net/unix/af_unix.c unix_stream_sendmsg() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 0-s32max
PARAM_VALUE 1 r 4096-ptr_max
CAPPED_DATA 0 i 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 i 1-s32max[c][u]
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/sctp/output.c sctp_packet_gso_append() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte

drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c chcr_ktls_copy_record_in_skb() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
LOCK2 &tx_ctx->lock
HALF_LOCKED2 &adap->ptp_lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct tls_offload_context_tx)->lock

net/ipv4/inet_fragment.c inet_frag_reasm_finish() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 0
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &fq->q.lock
HALF_LOCKED2 &qp->q.lock
HALF_LOCKED2 bh
TYPE_LOCK (struct inet_frag_queue)->lock

net/ipv4/inet_fragment.c inet_frag_reasm_prepare() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &fq->q.lock
HALF_LOCKED2 &qp->q.lock
HALF_LOCKED2 bh
TYPE_LOCK (struct inet_frag_queue)->lock

net/xdp/xsk.c xsk_build_skb() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 4096
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
LOCK2 &xs->mutex
TYPE_LOCK (struct xdp_sock)->mutex

net/xdp/xsk.c xsk_build_skb_zerocopy() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 i unit_byte
LOCK2 &xs->mutex
TYPE_LOCK (struct xdp_sock)->mutex

net/atm/pppoatm.c atm_account_tx() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 i
UNITS 0 i unit_byte
HALF_LOCKED2 &pch->downl
HALF_LOCKED2 &pchb->downl
HALF_LOCKED2 &ppp->wlock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct channel)->downl

drivers/misc/lkdtm/refcount.c lkdtm_REFCOUNT_ADD_OVERFLOW() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 4
PARAM_VALUE 1 r 6023483045546663936
NOCHECK_CALL

drivers/misc/lkdtm/refcount.c lkdtm_REFCOUNT_ADD_OVERFLOW() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 4
PARAM_VALUE 1 r 6023483045546663936
NOCHECK_CALL

drivers/misc/lkdtm/refcount.c lkdtm_REFCOUNT_ADD_SATURATED() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 8
PARAM_VALUE 1 r 2931866480025153536
PARAM_VALUE 1 r->refs.counter (-1073741824)
NOCHECK_CALL

drivers/misc/lkdtm/refcount.c lkdtm_REFCOUNT_ADD_ZERO() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 0 i 3
PARAM_VALUE 1 r 3767742910534733824
PARAM_VALUE 1 r->refs.counter (-1073741824),0-s32max
NOCHECK_CALL

mm/page_owner.c inc_stack_record_count() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
PARAM_VALUE 1 r->refs.counter s32min-(-1073741825),(-1073741823)-s32max
CAPPED_DATA 0 i 1
DATA_SOURCE 0 i $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/atm/common.c atm_account_tx() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
NOCHECK_CALL
UNITS 0 i unit_byte
LOCK2 sk
HALF_LOCKED2 &vq->mutex

net/ipv4/tcp_output.c __tcp_transmit_skb() -> refcount_add()

Type Parameter Key Value
PARAM_VALUE 1 r 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 i 0-s32max[c]
UNITS 0 i unit_byte
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk