Defined in 1 files as a function:

Referenced in 13 files:

Smatch caller information:

drivers/staging/media/ipu3/ipu3-dmamap.c imgu_dmamap_alloc_buffer() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r alloc_pages_noprof
RX_PATH
TASK_NOT_RUNNING

io_uring/rsrc.c io_buffer_account_pin() -> PageCompound()

Type Parameter Key Value
RX_PATH
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/rsrc.c io_buffer_acct_cloned_hpages() -> PageCompound()

Type Parameter Key Value
UNITS 0 page unit_page
HALF_LOCKED2 &ctx->uring_lock

io_uring/rsrc.c io_buffer_acct_cloned_hpages() -> PageCompound()

Type Parameter Key Value
UNITS 0 page unit_page
HALF_LOCKED2 &ctx->uring_lock

io_uring/rsrc.c io_buffer_unaccount_hpages() -> PageCompound()

Type Parameter Key Value
RX_PATH
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/rsrc.c io_buffer_unaccount_pages() -> PageCompound()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &ctx->uring_lock

arch/x86/mm/init_64.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/iommu/iommufd/selftest.c iommufd_test_md_check_refs() -> PageCompound()

Type Parameter Key Value

drivers/media/platform/ti/omap/omap_voutlib.c ClearPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

drivers/media/platform/ti/omap/omap_voutlib.c SetPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

drivers/char/agp/generic.c ClearPageReserved() -> PageCompound()

Type Parameter Key Value
CAPPED_DATA 0 page 1
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

drivers/char/agp/generic.c SetPageReserved() -> PageCompound()

Type Parameter Key Value
CAPPED_DATA 0 page 1
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

arch/x86/mm/ioremap.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

arch/x86/kvm/mmu/spte.c PageReserved() -> PageCompound()

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
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 rcu_read

mm/page_reporting.c PageReported() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
PREEMPT_ADD
LOCK2 &zone->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct zone)->lock

mm/page_reporting.c __SetPageReported() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
PREEMPT_ADD
LOCK2 &zone->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct zone)->lock

mm/usercopy.c check_heap_object() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max

drivers/xen/swiotlb-xen.c SetPageXenRemapped() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0

drivers/xen/swiotlb-xen.c TestClearPageXenRemapped() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0

fs/proc/task_mmu.c PageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

net/ipv4/tcp.c can_map_frag() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page r skb_frag_page
RX_PATH
HALF_LOCKED2 sk

mm/page_ext.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0

fs/nfs/direct.c nfs_direct_read_completion() -> PageCompound()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/mm_init.c __ClearPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
UNITS 0 page unit_page

mm/mm_init.c __SetPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page

mm/hugetlb.c replace_free_hugepage_folios() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &cma->alloc_mutex
HALF_LOCKED2 &vm->hotplug_mutex

arch/x86/kernel/alternative.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &pack_mutex
HALF_LOCKED2 global &text_mutex

kernel/kexec_core.c ClearPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

kernel/kexec_core.c SetPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

kernel/power/snapshot.c PageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

mm/page_isolation.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct zone)->lock

mm/page_isolation.c isolate_single_pageblock() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r __first_valid_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &pcp_batch_high_lock

mm/page_isolation.c page_is_unmovable() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct zone)->lock

mm/compaction.c isolate_freepages_block() -> PageCompound()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cc->zone->lock
HALF_LOCKED2 flags

mm/compaction.c isolate_migratepages_block() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/compaction.c pageblock_skip_persistent() -> PageCompound()

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

mm/page_alloc.c ClearPageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &balloon_mutex

mm/page_alloc.c PageReported() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 flags

mm/page_alloc.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &vm->hotplug_mutex
HALF_LOCKED2 global &dm_device.ha_lock

mm/page_alloc.c __ClearPageReported() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 flags

mm/page_alloc.c __ClearPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 irq

mm/page_alloc.c __free_pages_prepare() -> PageCompound()

Type Parameter Key Value
BUF_SIZE 0 page (-1),1-s32max
BUF_SIZE 0 page (-1),1-s32max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 page 4096-s32max[c]
HOST_DATA 0 page->private 0-9[c]
USER_DATA 0 page 4096-s32max[c]
USER_DATA 0 page->private 0-9[c]
UNITS 0 page unit_page

mm/page_alloc.c __split_page() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

fs/verity/verify.c PageChecked() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 0-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/verity/verify.c SetPageChecked() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/net/xen-netback/rx.c PageForeign() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH

drivers/firmware/memmap.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
HALF_LOCKED2 &pool->lock

drivers/xen/grant-table.c ClearPageForeign() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

drivers/xen/grant-table.c PageForeign() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &evtchnl->u.req.req_io_lock

drivers/xen/grant-table.c SetPageForeign() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &evtchnl->u.req.req_io_lock

mm/memory-failure.c PageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &attr->mutex

drivers/vfio/vfio_iommu_type1.c PageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &container->group_lock
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vgpu->cache_lock

kernel/dma/debug.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING

mm/memblock.c __SetPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
LOCK2 irq

drivers/comedi/comedi_buf.c ClearPageReserved() -> PageCompound()

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

drivers/comedi/comedi_buf.c SetPageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->mutex
HALF_LOCKED2 &dev->attach_lock
TYPE_LOCK (struct comedi_device)->mutex

drivers/virt/acrn/mm.c PageReserved() -> PageCompound()

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

mm/migrate.c try_to_map_unused_to_zeropage() -> PageCompound()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

mm/hugetlb_vmemmap.c PageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &init_mm.page_table_lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c PageReserved() -> PageCompound()

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

arch/x86/virt/svm/sev.c __snp_leak_pages() -> PageCompound()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 global &snp_leaked_pages_list_lock

mm/page_owner.c PageReserved() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &m->lock

arch/x86/xen/mmu_pv.c ClearPagePinned() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
HALF_LOCKED2 irq

arch/x86/xen/mmu_pv.c ClearPageSavePinned() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
LOCK2 global &pgd_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/xen/mmu_pv.c PagePinned() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &init_mm.page_table_lock
HALF_LOCKED2 global &pgd_lock

arch/x86/xen/mmu_pv.c PageSavePinned() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
LOCK2 global &pgd_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/xen/mmu_pv.c SetPagePinned() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

arch/x86/xen/mmu_pv.c SetPageSavePinned() -> PageCompound()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
LOCK2 global &pgd_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/xen/mmu_pv.c TestClearPagePinned() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 &mm->page_table_lock

arch/x86/xen/mmu_pv.c TestSetPagePinned() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 &mm->page_table_lock

mm/sparse-vmemmap.c PageReserved() -> PageCompound()

Type Parameter Key Value
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING