Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/khugepaged.c retract_page_tables() -> page_table_check_pte_clear_range()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mm_users.counter s32min-(-1),1-s32max
DATA_SOURCE 2 pmd r pmdp_collapse_flush
BIT_INFO 1 addr 0x0,0xffffffffffe00000
BIT_INFO 1 addr 0x0,0xffffffffffe00000
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 addr 0-u64max[c]
UNITS 0 mm unit_byte
UNITS 1 addr unit_byte
LOCK2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/khugepaged.c try_collapse_pte_mapped_thp() -> page_table_check_pte_clear_range()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 addr 0
DATA_SOURCE 0 mm $0
DATA_SOURCE 2 pmd r pmdp_collapse_flush
NOSPEC 1 addr
NOSPEC 1 addr
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 addr 0[c]
UNITS 0 mm unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 0 &mm->mmap_lock