Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

mm/filemap.c folio_needs_release() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
UNITS 0 folio unit_page
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 0 &folio->private->lock

mm/migrate_device.c migrate_vma_check_page() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r _compound_head
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c folio_needs_release() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING

fs/fuse/dev.c fuse_try_move_folio() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

mm/truncate.c folio_needs_release() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING

mm/truncate.c folio_unmap_invalidate() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
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
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
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
LOCK2 &(&mapping->i_pages)->xa_lock
LOCK2 &mapping->host->i_lock
LOCK2 irq
HALF_LOCKED2 0 &folio->private->lock
TYPE_LOCK (struct inode)->i_lock

mm/truncate.c mapping_evict_folio() -> folio_has_private()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 global &mf_mutex