Defined in 1 files as a variable:

Defined in 27 files as a member:

Defined in 1 files as a function:

Referenced in 119 files:

Smatch caller information:

drivers/net/ethernet/google/gve/gve_rx.c gve_rx_can_recycle_buffer() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/ceph/messenger_v2.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
UNITS 0 page unit_page

mm/huge_memory.c page_ref_unfreeze() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 rcu_read

drivers/scsi/cxgbi/libcxgbi.c cxgbi_task_data_sgl_check() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 0,4-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &session->frwd_lock
HALF_LOCKED2 bh

drivers/infiniband/sw/siw/siw_qp_tx.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
TASK_NOT_RUNNING
LOCK2 &qp->state_lock
TYPE_LOCK (struct siw_qp)->state_lock

drivers/net/ethernet/sfc/falcon/rx.c ef4_reuse_page() -> page_count()

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

net/core/skbuff.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kcm->tx_mutex
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

mm/memory_hotplug.c scan_movable_pages() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &dev->mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

mm/util.c set_ps_flags() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $2

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hns3_can_reuse_page() -> page_count()

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

drivers/net/ethernet/intel/igbvf/netdev.c igbvf_clean_rx_irq() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

mm/hugetlb.c page_ref_unfreeze() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &hugetlb_lock
HALF_LOCKED2 irq

fs/pipe.c anon_pipe_buf_try_steal() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/pipe.c anon_pipe_put_page() -> page_count()

Type Parameter Key Value
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pipe->mutex

fs/pipe.c generic_pipe_buf_try_steal() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/intel/igc/igc_main.c igc_get_rx_buffer() -> page_count()

Type Parameter Key Value
RX_PATH

drivers/block/drbd/drbd_main.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
UNITS 0 page unit_page
LOCK2 &sock->mutex
TYPE_LOCK (struct drbd_socket)->mutex

drivers/block/drbd/drbd_receiver.c drbd_free_pages() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1 [m]
RX_PATH
TASK_NOT_RUNNING

net/ceph/messenger.c ceph_msg_data_iter_next() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
HALF_LOCKED2 &con->mutex
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlx4/en_rx.c mlx4_en_complete_rx_desc() -> page_count()

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

mm/page_isolation.c __test_page_isolated_in_pageblock() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &zone->lock
LOCK2 flags
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &pcp_batch_high_lock
TYPE_LOCK (struct zone)->lock

mm/page_isolation.c page_is_buddy() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &zone->lock
LOCK2 irq
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &pcp_batch_high_lock
TYPE_LOCK (struct zone)->lock

mm/page_alloc.c __offline_isolated_pages() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &dev->mutex
LOCK2 &zone->lock
LOCK2 global &pcp_batch_high_lock
LOCK2 irq
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct zone)->lock

mm/page_alloc.c __offline_isolated_pages() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &dev->mutex
LOCK2 &zone->lock
LOCK2 global &pcp_batch_high_lock
LOCK2 irq
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct zone)->lock

mm/page_alloc.c page_is_buddy() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct zone)->lock

mm/page_alloc.c split_page() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
CAPPED_DATA 0 page 1
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &b->conf_sem
HALF_LOCKED2 &msc->buf_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &init_mm.page_table_lock

mm/page_alloc.c take_page_off_buddy() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &zone->lock
LOCK2 global &mf_mutex
LOCK2 irq
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &pcp_batch_high_lock
TYPE_LOCK (struct zone)->lock

drivers/net/ethernet/intel/fm10k/fm10k_main.c fm10k_can_reuse_rx_page() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/tls/tls_sw.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tls_ctx->tx_lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct tls_context)->tx_lock

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c ixgbe_get_rx_buffer() -> page_count()

Type Parameter Key Value
RX_PATH

net/tls/tls_device.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk
HALF_LOCKED2 &tls_ctx->tx_lock

drivers/net/usb/r8152.c rtl_get_free_rx() -> page_count()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tp->rx_lock
LOCK2 flags
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct r8152)->rx_lock

drivers/net/usb/r8152.c rtl_stop_rx() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tp->control

drivers/net/usb/r8152.c rx_bottom() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/usb/r8152.c rx_bottom() -> page_count()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tp->rx_lock
LOCK2 flags
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct r8152)->rx_lock

mm/vmscan.c page_ref_unfreeze() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

drivers/net/ethernet/intel/igb/igb_main.c igb_get_rx_buffer() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/hisilicon/hns/hns_enet.c hns_nic_reuse_page() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
BUF_SIZE 0 page 1-s32max
RX_PATH
TASK_NOT_RUNNING

net/ceph/messenger_v1.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0

drivers/xen/grant-table.c __gnttab_unmap_refs_async() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/sfc/rx_common.c efx_reuse_page() -> page_count()

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

mm/memory-failure.c get_any_page() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
CAPPED_DATA 0 page 1
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &attr->mutex

mm/memory-failure.c has_extra_refcount() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
CAPPED_DATA 0 page 1
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock

mm/memory-failure.c memory_failure() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r pfn_to_online_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &of->mutex

mm/memory-failure.c soft_offline_in_use_page() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
CAPPED_DATA 0 page 1
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
HALF_LOCKED2 &of->mutex

drivers/net/ethernet/sun/cassini.c cas_page_spare() -> page_count()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cp->lock
HALF_LOCKED2 &cp->pm_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct cas)->lock

drivers/net/ethernet/sun/cassini.c cas_page_swap() -> page_count()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cp->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cas)->lock

drivers/net/ethernet/sun/cassini.c cas_post_rxds_ringN() -> page_count()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cp->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct cas)->lock

drivers/net/ethernet/sun/cassini.c cas_spare_recover() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cp->pm_mutex
HALF_LOCKED2 flags

drivers/net/ethernet/google/gve/gve_buffer_mgmt_dqo.c gve_buf_ref_cnt() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/nvme/host/tcp.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &queue->send_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nvme_tcp_queue)->send_mutex

drivers/scsi/libiscsi_tcp.c sendpage_ok() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh

drivers/net/ethernet/freescale/gianfar.c gfar_add_rx_frag() -> page_count()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

mm/migrate.c page_ref_unfreeze() -> page_count()

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

drivers/net/ethernet/sfc/siena/rx_common.c efx_reuse_page() -> page_count()

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

drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_get_rx_buffer() -> page_count()

Type Parameter Key Value
RX_PATH

mm/kmemleak.c __kmemleak_scan() -> page_count()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r pfn_to_online_page
LOCK2 global &scan_mutex

drivers/net/ethernet/cavium/liquidio/octeon_droq.c recv_buffer_recycle() -> page_count()

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