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 |