Defined in 1 files as a prototype:

Defined in 2 files as a macro:

Defined in 2 files as a function:

Referenced in 95 files:

Smatch caller information:

arch/x86/power/hibernate.c relocate_restore_code() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 4096-18446744073709547520
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd r pmd_offset
DATA_SOURCE 1 address r get_safe_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
LOCK2 irq

arch/x86/mm/init_64.c fill_pte() -> pte_offset_kernel()

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

arch/x86/mm/init_64.c fill_pte() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_byte
HALF_LOCKED2 irq

arch/x86/mm/init_64.c free_pte() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0
DATA_SOURCE 0 pmd $1
RX_PATH
TASK_NOT_RUNNING

mm/pagewalk.c walk_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
NOSPEC 1 address
NOSPEC 1 address
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-u64max[c]
UNITS 1 address unit_byte
HALF_LOCKED2 &mm->mmap_lock

arch/x86/kernel/machine_kexec_64.c init_transition_pgtable() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd r pmd_offset

arch/x86/mm/fault.c dump_pagetable() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd r pmd_offset
DATA_SOURCE 1 address $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_byte
HALF_LOCKED2 flags

arch/x86/mm/fault.c spurious_kernel_fault() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd r pmd_offset
DATA_SOURCE 1 address $1
PREEMPT_ADD

mm/kasan/init.c kasan_remove_pmd_table() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0-18446744073709551614
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c kasan_remove_pmd_table() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0
DATA_SOURCE 0 pmd $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c zero_pte_populate() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

mm/kasan/init.c zero_pte_populate() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1 [m]
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_byte
HALF_LOCKED2 irq

arch/x86/mm/pti.c pti_clone_pgtable() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 3677682157214191616,3677682157214195712,3677682157215547392,3677682157993590784
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd r pmd_offset
BIT_INFO 1 address 0x0,0x7fffffffffffffff
HARD_MAX 1 address 3677682157993590784
HALF_LOCKED2 irq

arch/x86/mm/pti.c pti_user_pagetable_walk_pte() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 18379471554275704832-u64max
DATA_SOURCE 0 pmd r pti_user_pagetable_walk_pmd
DATA_SOURCE 1 address $0
LOCK2 irq

arch/x86/kernel/espfix_64.c init_espfix_ap() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 8800352917861883904
DATA_SOURCE 1 address r espfix_base_addr
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &espfix_init_mutex
HALF_LOCKED2 irq

arch/x86/mm/kasan_init_64.c kasan_populate_pmd() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0-18446744073709547520
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
LOCK2 irq

mm/memory.c apply_to_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $1
DATA_SOURCE 1 address $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-u64max[c]
UNITS 1 address unit_byte
HALF_LOCKED2 flags

mm/memory.c apply_to_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $1
DATA_SOURCE 1 address $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-u64max[c]
UNITS 1 address unit_byte
HALF_LOCKED2 flags

mm/pgtable-generic.c __pte_map() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 310205832029904896
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
NOSPEC 1 address
NOSPEC 1 address
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-u64max
UNITS 1 address unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 flags

arch/x86/boot/startup/sme.c sme_populate_pgd() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0-18446744073709551614
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd r pmd_offset

arch/x86/mm/pat/set_memory.c collapse_pmd_page() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0,2097152-u64max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1 [m]
BIT_INFO 1 address 0x0,0xffffffffffe00000
BIT_INFO 1 address 0x0,0xffffffffffe00000
PREEMPT_ADD
LOCK2 global &cpa_lock
LOCK2 global &pgd_lock

arch/x86/mm/pat/set_memory.c lookup_address_in_pgd_attr() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd r pmd_offset
DATA_SOURCE 1 address $1
STR_LEN 0 pmd (-1)-0,2-7,9-13,17-18,21-24
STR_LEN 1 address (-1)-0,2-7,9-13,17-18,21-24
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 address 4096-18446744073709547520[c]
USER_DATA 1 address 0-u64max
UNITS 1 address unit_byte
HALF_LOCKED2 flags

arch/x86/mm/pat/set_memory.c populate_pte() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $4
DATA_SOURCE 1 address $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 address 1-s32max[c]
USER_DATA 1 address 0-u64max[c]
UNITS 1 address unit_byte
HALF_LOCKED2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

arch/x86/mm/pat/set_memory.c unmap_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-u64max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-u64max
UNITS 1 address unit_byte
HALF_LOCKED2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

mm/vmalloc.c vmalloc_to_page() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd r pmd_offset
DATA_SOURCE 1 address $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 address 4096-18446744073709547520[c]
USER_DATA 1 address 4096-18446744073709547520[c][u]
UNITS 1 address unit_byte
HALF_LOCKED2 &bo->mutex
HALF_LOCKED2 &cache->writeback_lock
HALF_LOCKED2 &fbdefio_state->lock
HALF_LOCKED2 &hw->hw_info.lock
HALF_LOCKED2 &idev->info_lock
HALF_LOCKED2 &pds_vfio->state_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rproc->lock
HALF_LOCKED2 &runtime->buffer_mutex
HALF_LOCKED2 &service->bulk_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &page_offline_rwsem
HALF_LOCKED2 global &pcpu_alloc_mutex
HALF_LOCKED2 global &report_lock
HALF_LOCKED2 sk

mm/vmalloc.c vmap_pages_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1

mm/vmalloc.c vmap_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0-18446744073709551614
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_byte

mm/vmalloc.c vunmap_pte_range() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_byte

mm/hugetlb_vmemmap.c vmemmap_pmd_entry() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
NOSPEC 1 address
NOSPEC 1 address
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-u64max[c]
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/hugetlb_vmemmap.c vmemmap_split_pmd() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4301890319273848832
PARAM_VALUE 1 address 0,4096-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0,4096,2097152-u64max[c]
HALF_LOCKED2 &mm->mmap_lock

mm/kasan/shadow.c shadow_mapped() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 18438330610733809664,18446723251708100608
DATA_SOURCE 0 pmd r pmd_offset
DATA_SOURCE 1 address $0
UNITS 1 address unit_byte

arch/x86/xen/mmu_pv.c xen_cleanmfnmap_pmd() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0
DATA_SOURCE 0 pmd $0
LOCK2 irq

mm/sparse-vmemmap.c compound_section_tail_page() -> pte_offset_kernel()

Type Parameter Key Value
DATA_SOURCE 1 address $0 [m]
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_page

mm/sparse-vmemmap.c virt_to_kpte() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 1 address 0-18446744073709551614
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd r pmd_off_k
DATA_SOURCE 1 address $0
RX_PATH

mm/sparse-vmemmap.c vmemmap_pte_populate() -> pte_offset_kernel()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 pmd $0
DATA_SOURCE 1 address $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 address unit_page
HALF_LOCKED2 irq