Defined in 1 files as a function:

Referenced in 18 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 2147483646
DATA_SOURCE 0 page r alloc_pages_node_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/google/gve/gve_rx.c gve_setup_rx_buffer() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 1 nr 2147483646
DATA_SOURCE 0 page $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/fungible/funeth/funeth_rx.c refresh_refs() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 1000000
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/huge_memory.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 1 nr 511
DATA_SOURCE 1 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vma->vm_private_data->rw_sema
HALF_LOCKED2 ptl

drivers/net/ethernet/cortina/gemini.c geth_fill_freeq() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter s32min-1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &geth->freeq_lock
LOCK2 flags
TYPE_LOCK (struct gemini_ethernet)->freeq_lock

drivers/net/ethernet/google/gve/gve_utils.c gve_dec_pagecnt_bias() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hns3_alloc_buffer() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 65534
DATA_SOURCE 0 page r __dev_alloc_pages_noprof
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hns3_nic_reuse_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr u16max
BUF_SIZE 0 page 1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 page unit_byte

net/core/net_test.c gso_test_func() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 1
DATA_SOURCE 0 page r alloc_pages_noprof
NOCHECK_CALL

mm/shmem.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/intel/igc/igc_main.c igc_alloc_mapped_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/intel/igc/igc_main.c igc_can_reuse_rx_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/sun/niu.c niu_rbr_add_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 1
PARAM_VALUE 0 page->private 0-18446744073709551614
PARAM_VALUE 1 nr 1-65534
DATA_SOURCE 0 page r alloc_pages_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/filemap.c folio_ref_add() -> page_ref_add()

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 rcu_read
HALF_LOCKED2 vmf->ptl

mm/page_frag_cache.c __page_frag_alloc_align() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 1
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
PARAM_VALUE 0 page->lru.next 0,2
PARAM_VALUE 0 page->private 0
PARAM_VALUE 1 nr 32768
DATA_SOURCE 0 page r __page_frag_cache_refill
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &call->conn->tx_data_alloc_lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 &xprt->xpt_mutex

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_alloc_mapped_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_can_reuse_rx_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/igb/igb_main.c igb_alloc_mapped_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/intel/igb/igb_main.c igb_can_reuse_rx_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

mm/memory.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 nr unit_page
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 dst_ptl
HALF_LOCKED2 rcu_read
HALF_LOCKED2 src_ptl
HALF_LOCKED2 vmf->ptl

drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_alloc_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 256
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_alloc_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_get_page() -> page_ref_add()

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

drivers/net/ethernet/google/gve/gve_buffer_mgmt_dqo.c gve_alloc_qpl_page_dqo() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 1 nr 2147483646
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/bpf/arena.c arena_vm_fault() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 1 nr 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

mm/gup.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 nr 2-268434432[c]
UNITS 1 nr unit_page
HALF_LOCKED2 flags

mm/migrate.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &((&xas)->xa)->xa_lock

mm/khugepaged.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 511
DATA_SOURCE 1 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &mm->mmap_lock

drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_alloc_mapped_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_can_reuse_rx_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
PARAM_VALUE 1 nr 65534
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c mlx5e_ktls_tx_handle_ooo() -> page_ref_add()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &netdev->tx_global_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c mlx5e_ktls_tx_handle_ooo() -> page_ref_add()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &netdev->tx_global_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c ixgbevf_can_reuse_rx_page() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
PARAM_VALUE 1 nr u16max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

mm/swap_state.c folio_ref_add() -> page_ref_add()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 1 nr $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ci->lock