Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/core/page_pool.c __page_pool_put_page() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 pool->recycle_stats 4096-ptr_max
BUF_SIZE 0 pool (-1),1984
BUF_SIZE 0 pool (-1),1984
DATA_SOURCE 0 pool $0
DATA_SOURCE 1 netmem $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pool->frag_offset 0-u32max[c]
UNITS 1 netmem unit_byte
HALF_LOCKED2 rcu_read

net/core/page_pool.c page_pool_drain_frag() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->frag_page 1-u64max
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 1 netmem 1-u64max
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 0 pool (-1)-0,1984
DATA_SOURCE 0 pool $0
DATA_SOURCE 1 netmem $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pool->frag_offset 0-u32max[c]

net/core/page_pool.c page_pool_empty_alloc_cache_once() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->alloc.cache 4096-ptr_max
PARAM_VALUE 0 pool->destroy_cnt 0
PARAM_VALUE 0 pool->mp_ops->alloc_netmems 0,1761926047008235520,4335933877466263552
PARAM_VALUE 0 pool->mp_ops->destroy 0,1819993511236333568,2265117347301466112
PARAM_VALUE 0 pool->mp_ops->init 0,4835332377188921344,4979651178256572416
PARAM_VALUE 0 pool->mp_ops->nl_fill 0,6889271135159848960,6982990036605915136
PARAM_VALUE 0 pool->mp_ops->release_netmem 0,1532267495886376960,2135074621926043648
PARAM_VALUE 0 pool->mp_ops->uninstall 0,6150340140302999552,7986712296291573760
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 pool->p.dev->iommu_group->default_domain 0-s64max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->saved_min_active s32min-s32max
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 0 pool (-1)-0,1984
DATA_SOURCE 0 pool $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pool->frag_offset 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 pool->ring.size

net/core/page_pool.c page_pool_empty_ring() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->mp_ops->alloc_netmems 0,1761926047008235520,4335933877466263552
PARAM_VALUE 0 pool->mp_ops->destroy 0,1819993511236333568,2265117347301466112
PARAM_VALUE 0 pool->mp_ops->init 0,4835332377188921344,4979651178256572416
PARAM_VALUE 0 pool->mp_ops->nl_fill 0,6889271135159848960,6982990036605915136
PARAM_VALUE 0 pool->mp_ops->release_netmem 0,1532267495886376960,2135074621926043648
PARAM_VALUE 0 pool->mp_ops->uninstall 0,6150340140302999552,7986712296291573760
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 pool->p.dev->iommu_group->default_domain 0-s64max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 pool->ring->queue 0
PARAM_VALUE 0 pool->ring.consumer_head s32min-2147483646
PARAM_VALUE 0 pool->ring.consumer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 pool->ring.size s32min-(-1),1-s32max
PARAM_VALUE 1 netmem 1-u64max
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 1 netmem 1-s32max
CAPPED_DATA 0 pool->ring.batch 1
CAPPED_DATA 0 pool->ring.size 1
DATA_SOURCE 0 pool $0
DATA_SOURCE 1 netmem r ptr_ring_consume_bh
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pool->frag_offset 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 pool->ring.size

net/core/page_pool.c page_pool_free_frag() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->cpuid (-1)
PARAM_VALUE 0 pool->frag_page 0
PARAM_VALUE 0 pool->mp_ops->alloc_netmems 0,1761926047008235520,4335933877466263552
PARAM_VALUE 0 pool->mp_ops->destroy 0,1819993511236333568,2265117347301466112
PARAM_VALUE 0 pool->mp_ops->init 0,4835332377188921344,4979651178256572416
PARAM_VALUE 0 pool->mp_ops->nl_fill 0,6889271135159848960,6982990036605915136
PARAM_VALUE 0 pool->mp_ops->release_netmem 0,1532267495886376960,2135074621926043648
PARAM_VALUE 0 pool->mp_ops->uninstall 0,6150340140302999552,7986712296291573760
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 pool->p.napi 0
PARAM_VALUE 1 netmem 1-u64max
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 0 pool (-1)-0,1984
DATA_SOURCE 0 pool $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 pool->ring.size
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &xenwatch_mutex

net/core/page_pool.c page_pool_put_unrefed_netmem() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 pool->recycle_stats 4096-ptr_max
PARAM_VALUE 0 pool->ring.producer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 netmem 1-u64max
BUF_SIZE 0 pool (-1),1984
BUF_SIZE 0 pool (-1),1984
BUF_SIZE 1 netmem (-1),1-s32max
DATA_SOURCE 0 pool $0
DATA_SOURCE 1 netmem $1 [m]
PARAM_COMPARE 1 netmem == $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pool->frag_offset 0-u32max[c]
UNITS 1 netmem unit_byte
HALF_LOCKED2 &q->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/core/page_pool.c page_pool_recycle_ring_bulk() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->recycle_stats 4096-ptr_max
PARAM_VALUE 0 pool->ring.producer_lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 pool $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dring->lock
HALF_LOCKED2 &lan966x->tx_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/core/page_pool.c page_pool_refill_alloc_cache() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->alloc.count 0-63
PARAM_VALUE 0 pool->p.dev->dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 pool->p.dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 pool->p.dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 pool->p.dev->iommu_group->default_domain 0-s64max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 pool->p.dev->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 pool->ring.consumer_head s32min-2147483646
PARAM_VALUE 0 pool->ring.size s32min-(-1),1-s32max
PARAM_VALUE 0 *pool->ring->queue 0
PARAM_VALUE 1 netmem 1-u64max
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 0 pool (-1)-0,1984
BUF_SIZE 1 netmem 1-s32max
DATA_SOURCE 0 pool $0
DATA_SOURCE 1 netmem r __ptr_ring_consume
FUZZY_MAX 0 pool->alloc.count 63
HARD_MAX 0 pool->alloc.count 63
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 pool->frag_offset 0-u32max[c]
HALF_LOCKED2 rcu_read

net/core/page_pool.c page_pool_update_nid() -> page_pool_return_netmem()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->alloc.cache 4096-ptr_max
DATA_SOURCE 0 pool $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read