Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/huge_memory.c pages_identical() -> memcmp_pages()

Type Parameter Key Value
DATA_SOURCE 0 page1 $0
DATA_SOURCE 1 page2 $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &bch_register_lock

mm/ksm.c pages_identical() -> memcmp_pages()

Type Parameter Key Value
PARAM_VALUE 0 page1 4096-ptr_max
PARAM_VALUE 1 page2 1-u64max
DATA_SOURCE 0 page1 $0
DATA_SOURCE 1 page2 $1
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/ksm.c stable_tree_insert() -> memcmp_pages()

Type Parameter Key Value
PARAM_VALUE 0 page1 4096-ptr_max
PARAM_VALUE 1 page2 4096-ptr_max
LOCK2 global &ksm_thread_mutex

mm/ksm.c stable_tree_search() -> memcmp_pages()

Type Parameter Key Value
PARAM_VALUE 0 page1 4096-ptr_max
PARAM_VALUE 1 page2 4096-ptr_max
CAPPED_DATA 0 page1 1
DATA_SOURCE 0 page1 $0
LOCK2 global &ksm_thread_mutex

mm/ksm.c unstable_tree_search_insert() -> memcmp_pages()

Type Parameter Key Value
PARAM_VALUE 0 page1 4096-ptr_max
PARAM_VALUE 1 page2 4096-ptr_max
CAPPED_DATA 0 page1 1
DATA_SOURCE 0 page1 $1
DATA_SOURCE 1 page2 r get_mergeable_page
PARAM_COMPARE 0 page1 != $1
PARAM_COMPARE 0 page1 != $1
PARAM_COMPARE 1 page2 != $0
LOCK2 global &ksm_thread_mutex

kernel/events/uprobes.c pages_identical() -> memcmp_pages()

Type Parameter Key Value
PARAM_VALUE 0 page1 4096-ptr_max
CAPPED_DATA 0 page1 1
DATA_SOURCE 0 page1 $0
DATA_SOURCE 1 page2 $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page1 unit_page
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &uprobe->register_rwsem

mm/migrate.c pages_identical() -> memcmp_pages()

Type Parameter Key Value
PARAM_VALUE 0 page1 4096-ptr_max
PARAM_VALUE 0 page1->flags.f 0-18446744073709551614
DATA_SOURCE 0 page1 $0
DATA_SOURCE 1 page2 $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page1 unit_page
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock