Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/net/ethernet/google/gve/gve_rx.c gve_rx_free_buffer() -> page_ref_sub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_rx.c gve_rx_prefill_pages() -> page_ref_sub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_rx.c gve_rx_prefill_pages() -> page_ref_sub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_rx.c gve_rx_unfill_pages() -> page_ref_sub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_rx.c gve_rx_unfill_pages() -> page_ref_sub()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/core/datagram.c zerocopy_fill_skb_from_iter() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 1 nr 1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/core/datagram.c zerocopy_fill_skb_from_iter() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 1 nr 1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/shmem.c folio_ref_sub() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nr unit_page
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 _T->lock

mm/memory.c folio_ref_sub() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 1-s32max
CAPPED_DATA 1 nr 1
DATA_SOURCE 1 nr $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 dst_ptl
LOCK2 rcu_read
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_free_rbdr() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter s32min-(-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/google/gve/gve_buffer_mgmt_dqo.c gve_free_qpl_page_dqo() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/khugepaged.c folio_ref_sub() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr s32min-(-1),1-s32max
DATA_SOURCE 1 nr $1
NOSPEC 1 nr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 nr s32min-(-2),1-s32max[c][u]
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/swap_state.c folio_ref_sub() -> page_ref_sub()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 vmf->ptl