Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 15 files:
- fs/proc/task_mmu.c, line 1386
- include/linux/shmem_fs.h, line 196
- kernel/events/uprobes.c, line 1406
- mm/filemap.c
- mm/gup.c, line 2806
- mm/huge_memory.c
- mm/internal.h, line 1492
- mm/madvise.c, line 297
- mm/memory-failure.c, line 1043
- mm/memory.c, line 5803
- mm/mincore.c, line 110
- mm/page-writeback.c, line 2672
- mm/shmem.c
- mm/truncate.c
- mm/vmscan.c
Smatch caller information:
mm/madvise.c madvise_willneed() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &madv_behavior->mm->mmap_lock |
mm/huge_memory.c __folio_freeze_and_split_unmapped() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| DATA_SOURCE | 0 | mapping | $4 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock | ||
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | 0 | &mapping->i_mmap_rwsem |
mm/huge_memory.c __folio_split() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/huge_memory.c __folio_split() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &mapping->i_mmap_rwsem | |
| TYPE_LOCK | (struct address_space)->i_mmap_rwsem |
mm/huge_memory.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &m->lock |
mm/page-writeback.c __folio_mark_dirty() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size |
fs/proc/task_mmu.c smap_gather_stats() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| HALF_LOCKED2 | &priv->lock_ctx.mm->mmap_lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
mm/shmem.c shmem_evict_inode() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes |
mm/shmem.c shmem_get_folio_gfp() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | mapping->a_ops | (-1),152 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size |
mm/vma.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
mm/filemap.c __filemap_add_folio() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping->a_ops | (-1),152 |
| DATA_SOURCE | 0 | mapping | $0 |
| NOSPEC | 0 | mapping->writeback_index | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->i_mmap_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/filemap.c __filemap_add_folio() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping->a_ops | (-1),152 |
| DATA_SOURCE | 0 | mapping | $0 |
| NOSPEC | 0 | mapping->writeback_index | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->i_mmap_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/filemap.c filemap_cachestat() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mapping | $0 |
| LOCK2 | rcu_read |
mm/filemap.c filemap_map_folio_range() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/filemap.c filemap_map_pages() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/filemap.c page_cache_delete() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| LOCK2 | irq | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | &folio->private->lock | ||
| HALF_LOCKED2 | &mapping->host->i_lock | ||
| HALF_LOCKED2 | rcu_read |
mm/filemap.c page_cache_delete_batch() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| CAPPED_DATA | 0 | mapping->i_pages.xa_head | 1 |
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| LOCK2 | &(&mapping->i_pages)->xa_lock | ||
| LOCK2 | irq | ||
| LOCK2 | 0 | &mapping->host->i_lock | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &journal->j_checkpoint_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock | |
| TYPE_LOCK | (struct inode)->i_lock |
mm/vmscan.c pageout() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/vmscan.c pageout() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/vmscan.c should_skip_vma() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/truncate.c clear_shadow_entries() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mapping | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/truncate.c folio_split_or_unmap() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem |
mm/truncate.c truncate_folio_batch_exceptionals() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode_out->i_rwsem | ||
| HALF_LOCKED2 | &journal->j_checkpoint_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/memory.c finish_fault() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/mincore.c mincore_page() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mapping | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | ptl |
mm/memory-failure.c me_pagecache_clean() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | r folio_mapping |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &mf_mutex | ||
| HALF_LOCKED2 | &attr->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock |
mm/gup.c gup_fast_folio_allowed() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |
mm/gup.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | _T->lock |
mm/memfd_luo.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| LOCK2 | _T->lock | ||
| LOCK2 | global &luo_register_rwlock |
kernel/events/uprobes.c uprobe_register() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| PARAM_VALUE | 0 | mapping->a_ops | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/dma-buf/udmabuf.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
mm/khugepaged.c collapse_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/khugepaged.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memfd.c shmem_file() -> shmem_mapping()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| HALF_LOCKED2 | &inode->i_rwsem |