Defined in 2 files as a function:
- include/linux/backing-dev.h, line 132 (as a function)
- tools/testing/vma/include/stubs.h, line 191 (as a function)
Referenced in 8 files:
- arch/s390/kernel/uv.c, line 407
- fs/fs-writeback.c, line 3076
- mm/filemap.c
- mm/khugepaged.c, line 2841
- mm/memory-failure.c, line 1586
- mm/migrate.c, line 710
- mm/page-writeback.c
- mm/vma.c, line 2178
Smatch caller information:
mm/page-writeback.c __folio_cancel_dirty() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | r folio_mapping |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| HALF_LOCKED2 | &mapping->i_private_lock |
mm/page-writeback.c folio_account_dirtied() -> mapping_can_writeback()
| 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 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| LOCK2 | &(&mapping->i_pages)->xa_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &folio->private->lock |
mm/page-writeback.c folio_clear_dirty_for_io() -> mapping_can_writeback()
| 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 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sdp->sd_log_flush_lock |
mm/page-writeback.c folio_redirty_for_writepage() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mapping->writeback_index | 0-524287[c] |
| HALF_LOCKED2 | obj->base.resv |
mm/vma.c vma_fs_can_writeback() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mapping | 1-u64max |
| 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 | &mm->mmap_lock |
fs/fs-writeback.c write_inode_now() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_bytes | |
| HALF_LOCKED2 | &disk->open_mutex | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &ni->mrec_lock | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | &vi->i_rwsem | ||
| HALF_LOCKED2 | &vol->lcnbmp_lock |
mm/filemap.c __filemap_get_folio_mpol() -> mapping_can_writeback()
| 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 | &c->alloc_sem | ||
| HALF_LOCKED2 | &ctx->ring_lock | ||
| HALF_LOCKED2 | &fc->killsb | ||
| HALF_LOCKED2 | &fs_info->fs_devices->device_list_mutex | ||
| HALF_LOCKED2 | &fs_info->tree_log_mutex | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->vfs_inode.i_rwsem | ||
| HALF_LOCKED2 | &ip->i_inode.i_rwsem | ||
| HALF_LOCKED2 | &ip->i_rw_mutex | ||
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &req->r_fill_mutex | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sdp->sd_log_flush_lock | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| HALF_LOCKED2 | &split_debug_mutex | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->i_mmap_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/filemap.c __filemap_get_folio_mpol() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 | &c->alloc_sem | ||
| HALF_LOCKED2 | &ctx->ring_lock | ||
| HALF_LOCKED2 | &fc->killsb | ||
| HALF_LOCKED2 | &fs_info->fs_devices->device_list_mutex | ||
| HALF_LOCKED2 | &fs_info->tree_log_mutex | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->vfs_inode.i_rwsem | ||
| HALF_LOCKED2 | &ip->i_inode.i_rwsem | ||
| HALF_LOCKED2 | &ip->i_rw_mutex | ||
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &req->r_fill_mutex | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sdp->sd_log_flush_lock | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| HALF_LOCKED2 | &split_debug_mutex | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->i_mmap_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/filemap.c filemap_unaccount_folio() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | mapping | (-1),552 |
| BUF_SIZE | 0 | mapping | (-1),552 |
| DATA_SOURCE | 0 | mapping | $0 |
| 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 | |
| LOCK2 | irq | ||
| HALF_LOCKED2 | &(&mapping->i_pages)->xa_lock | ||
| HALF_LOCKED2 | 0 | &mapping->host->i_lock | |
| HALF_LOCKED2 | 0 | &mapping->host->i_rwsem | |
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/filemap.c filemap_writeback() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 | &fs_info->delalloc_root_mutex | ||
| HALF_LOCKED2 | &root->delalloc_mutex | ||
| HALF_LOCKED2 | 0 | &mapping->invalidate_lock |
mm/memory-failure.c unmap_poisoned_folio() -> mapping_can_writeback()
| 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 | |||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | global &mf_mutex | ||
| HALF_LOCKED2 | global &pcp_batch_high_lock |
mm/migrate.c __folio_migrate_mapping() -> mapping_can_writeback()
| 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 | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock |
mm/khugepaged.c collapse_single_pmd() -> mapping_can_writeback()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | mapping->host->i_size | |
| HALF_LOCKED2 | &mm->mmap_lock |