Defined in 3 files as a function:
- include/linux/mempolicy.h, line 67 (as a function)
- include/linux/mempolicy.h, line 200 (as a function)
- tools/testing/vma/include/stubs.h, line 373 (as a function)
Referenced in 6 files:
- fs/proc/task_mmu.c, line 122
- kernel/fork.c, line 2628
- mm/mempolicy.c
- mm/mmap.c, line 1893
- mm/shmem.c
- mm/vma.c
Smatch caller information:
mm/mmap.c dup_mmap() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| PARAM_VALUE | 0 | pol->refcnt.counter | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c release_task_mempolicy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &m->lock | ||
| HALF_LOCKED2 | &priv->lock_ctx.mm->mmap_lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/shmem.c shmem_free_fc() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
mm/shmem.c shmem_parse_one() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
mm/shmem.c shmem_put_super() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &sb->s_umount |
mm/shmem.c shmem_reconfigure() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex | ||
| HALF_LOCKED2 | &sb->s_umount |
mm/shmem.c shmem_show_options() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| DATA_SOURCE | 0 | pol | r shmem_get_sbmpol |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &seq->lock | ||
| HALF_LOCKED2 | global &namespace_sem |
mm/vma.c __split_vma() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| PARAM_VALUE | 0 | pol->refcnt.counter | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/vma.c copy_vma() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| PARAM_VALUE | 0 | pol->refcnt.counter | 1 |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/vma.c remove_vma() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/vma.c vma_complete() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
mm/mempolicy.c __do_sys_set_mempolicy_home_node() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 4096-ptr_max |
| CAPPED_DATA | 0 | pol | 1 |
| DATA_SOURCE | 0 | pol | r mpol_dup |
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | pol->home_node | 0-1023 |
| USER_DATA | 0 | pol->mode | 2-3,5-u16max |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mempolicy.c __do_sys_set_mempolicy_home_node() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 4096-ptr_max |
| CAPPED_DATA | 0 | pol | 1 |
| DATA_SOURCE | 0 | pol | r mpol_dup |
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | pol->home_node | 0-1023 |
| USER_DATA | 0 | pol->mode | 2-3,5-u16max |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mempolicy.c do_get_mempolicy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 4096-ptr_max |
| BUF_SIZE | 0 | pol | (-1),288 |
| BUF_SIZE | 0 | pol | (-1),288 |
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | pol->home_node | 0-1023 |
| USER_DATA | 0 | pol->mode | 2-3,5-u16max |
mm/mempolicy.c do_mbind() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| BUF_SIZE | 0 | pol | (-1),288 |
| BUF_SIZE | 0 | pol | (-1),288 |
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 0,24,8192-57368[c] |
| NO_OVERFLOW_SIMPLE | 0 | pol->mode |
mm/mempolicy.c do_set_mempolicy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| PARAM_VALUE | 0 | pol->flags | 0,24,8192-57368 |
| PARAM_VALUE | 0 | pol->home_node | (-1) |
| PARAM_VALUE | 0 | pol->mode | 1-u16max |
| PARAM_VALUE | 0 | pol->refcnt.counter | 1 |
| DATA_SOURCE | 0 | pol | r mpol_new |
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 0,24,8192-57368[c] |
| NO_OVERFLOW_SIMPLE | 0 | pol->mode |
mm/mempolicy.c do_set_mempolicy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
mm/mempolicy.c mpol_put_task_policy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &system_transition_mutex |
mm/mempolicy.c mpol_shared_policy_init() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0,4096-ptr_max |
| CAPPED_DATA | 0 | pol | 1 |
| DATA_SOURCE | 0 | pol | r mpol_new |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | pol->mode | |
| HALF_LOCKED2 | &sb->s_umount |
mm/mempolicy.c mpol_shared_policy_init() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 4096-ptr_max |
| DATA_SOURCE | 0 | pol | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &sb->s_umount |
mm/mempolicy.c shared_policy_replace() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 4096-ptr_max |
| PARAM_VALUE | 0 | pol->refcnt.counter | 1 |
| DATA_SOURCE | 0 | pol | r kmem_cache_alloc_noprof |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mempolicy.c sp_free() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 1,25,8193-57369[c] |
| USER_DATA | 0 | pol->home_node | 0-1023 |
| USER_DATA | 0 | pol->mode | 2-3,5-u16max |
| HALF_LOCKED2 | &sp->lock |
mm/mempolicy.c vma_replace_policy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| USER_DATA | 0 | pol->flags | 0,24,8192-57368[c] |
| USER_DATA | 0 | pol->home_node | 0-1023 |
| USER_DATA | 0 | pol->mode | 2-3,5-u16max |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mempolicy.c vma_replace_policy() -> mpol_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pol | 0-ptr_max |
| PARAM_VALUE | 0 | pol->refcnt.counter | 1 |
| DATA_SOURCE | 0 | pol | r mpol_dup |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |