Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

mm/mmap.c dup_mmap() -> mapping_allow_writable()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 0 &mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/vma.c __vma_link_file() -> mapping_allow_writable()

Type Parameter Key Value
DATA_SOURCE 0 mapping $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vp->mapping->i_mmap_rwsem
HALF_LOCKED2 0 &mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/memfd.c memfd_add_seals() -> mapping_allow_writable()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->i_mmap_writable.counter 0-s32max
NOCHECK_CALL
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &session->mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct inode)->i_rwsem