Defined in 2 files as a function:
Referenced in 7 files:
- mm/memory.c
- mm/mincore.c, line 79
- mm/shmem.c
- mm/swap_state.c
- mm/swapfile.c
- mm/userfaultfd.c
- mm/zswap.c, line 1006
Smatch caller information:
mm/userfaultfd.c move_pages_ptes() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| NOCHECK_CALL | |||
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c move_pages_ptes() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| NOCHECK_CALL | |||
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/swapfile.c swap_alloc_fast() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 0 | *si->global_cluster->next | 0-4294967295 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/swapfile.c swap_alloc_slow() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| PARAM_VALUE | 0 | *si->global_cluster->next | 0-4294967295 |
| CAPPED_DATA | 0 | &si->avail_list.node_list | 1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/swapfile.c swap_put_entries_direct() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| CAPPED_DATA | 0 | si->max | 1 |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | ptl |
mm/swapfile.c swap_retry_table_alloc() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/swapfile.c swap_sync_discard() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| CAPPED_DATA | 0 | &si->list.node_list | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/swapfile.c swp_swapcount() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/zswap.c zswap_writeback_entry() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/shmem.c shmem_swapin_folio() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/shmem.c shmem_swapin_folio() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/shmem.c shmem_swapin_folio() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/memory.c do_swap_page() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | vmf->ptl |
mm/memory.c do_swap_page() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mincore.c mincore_swap() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | ptl |
mm/swap_state.c read_swap_cache_async() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/swap_state.c swap_vma_readahead() -> put_swap_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | si | 4096-ptr_max |
| PARAM_VALUE | 0 | si->max | 1-u32max |
| PARAM_VALUE | 0 | si->users.percpu_count_ptr | 1-u64max |
| DATA_SOURCE | 0 | si | r get_swap_device |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |