Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/ksm.c cmp_and_merge_page() -> remove_rmap_item_from_tree()

Type Parameter Key Value
PARAM_VALUE 0 rmap_item 4096-ptr_max
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 rmap_item $1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rmap_item->address
LOCK2 global &ksm_thread_mutex

mm/ksm.c cmp_and_merge_page() -> remove_rmap_item_from_tree()

Type Parameter Key Value
PARAM_VALUE 0 rmap_item 4096-ptr_max
PARAM_VALUE 0 rmap_item->address 0,4096-u64max
PARAM_VALUE 0 rmap_item->head->head 0,5915860868013473792
PARAM_VALUE 0 rmap_item->head->hlist_dup->next->pprev 1-u64max
PARAM_VALUE 0 rmap_item->head->rmap_hlist_len (-1024),0-s32max
PARAM_VALUE 0 rmap_item->hlist->next->pprev 1-u64max
PARAM_VALUE 0 rmap_item->linear_page_index 0
PARAM_VALUE 0 rmap_item->mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 rmap_item $1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rmap_item->address
LOCK2 global &ksm_thread_mutex

mm/ksm.c get_next_rmap_item() -> remove_rmap_item_from_tree()

Type Parameter Key Value
PARAM_VALUE 0 rmap_item 4096-ptr_max
CAPPED_DATA 0 rmap_item->address 1
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/ksm.c remove_trailing_rmap_items() -> remove_rmap_item_from_tree()

Type Parameter Key Value
PARAM_VALUE 0 rmap_item 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/ksm.c should_skip_rmap_item() -> remove_rmap_item_from_tree()

Type Parameter Key Value
PARAM_VALUE 0 rmap_item 4096-ptr_max
DATA_SOURCE 0 rmap_item $1
BIT_INFO 0 rmap_item->address 0x0,0xfffffffffffffdff
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/ksm.c try_to_merge_with_ksm_page() -> remove_rmap_item_from_tree()

Type Parameter Key Value
PARAM_VALUE 0 rmap_item 4096-ptr_max
PARAM_VALUE 0 rmap_item->address 0
PARAM_VALUE 0 rmap_item->mm 4096-ptr_max
PARAM_VALUE 0 rmap_item->mm->mm_users.counter s32min-(-1),1-s32max
PARAM_VALUE 0 rmap_item->mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 rmap_item->mm->mmap_lock.first_waiter->type 0-1
BUF_SIZE 0 rmap_item (-1)-s32max
BUF_SIZE 0 rmap_item (-1)-s32max
DATA_SOURCE 0 rmap_item $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rmap_item->address
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock