Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/nfs/dir.c nfs_readdir_folio_array_free() -> nfs_readdir_clear_array()

Type Parameter Key Value
PARAM_VALUE 0 folio 1-u64max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/nfs/dir.c nfs_readdir_folio_init_and_validate() -> nfs_readdir_clear_array()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/nfs/dir.c nfs_readdir_folio_reinit_array() -> nfs_readdir_clear_array()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

mm/vmscan.c __remove_mapping() -> __remove_mapping ptr free_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 0
PARAM_VALUE 0 folio->page._refcount.counter 0-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
UNITS 0 folio unit_page

mm/filemap.c filemap_free_folio() -> filemap_free_folio ptr free_folio()

Type Parameter Key Value
PARAM_VALUE 0 *folio->_mm_id 0-4294967295
DATA_SOURCE 0 folio $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/filemap.c replace_page_cache_folio() -> replace_page_cache_folio ptr free_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 0
PARAM_VALUE 0 folio->mapping->a_ops 4096-ptr_max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/truncate.c folio_unmap_invalidate() -> folio_unmap_invalidate ptr free_folio()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping 0
PARAM_VALUE 0 folio->pgmap->ops->folio_free 0,1125799360645222400,2314884282337259520,3487804881100709888,4287620441410408448,4432558333617348608
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
STR_LEN 0 folio (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
STR_LEN 0 folio (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
UNITS 0 folio unit_page
HALF_LOCKED2 0 &folio->private->lock