Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 15 files:

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