Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 11 files:

Smatch caller information:

fs/btrfs/verity.c btrfs_read_merkle_tree_page() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->host->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 0 mapping->host->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->host->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 gfp 3136
DATA_SOURCE 1 folio r filemap_alloc_folio_noprof
DATA_SOURCE 2 index $1
NOSPEC 2 index
NOSPEC 2 index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
USER_DATA 2 index 0-2251799814209534[c]
UNITS 2 index unit_page

fs/erofs/zdata.c z_erofs_fill_bio_vec() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 1 folio->private 0
CAPPED_DATA 0 mapping 1
DATA_SOURCE 0 mapping $4
DATA_SOURCE 1 folio r _compound_head
PARAM_COMPARE 3 gfp == $0->gfp_mask
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page
HALF_LOCKED2 &mapping->invalidate_lock

mm/readahead.c page_cache_ra_unbounded() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 gfp 0,8192-u32max
CAPPED_DATA 2 index 1
DATA_SOURCE 1 folio r ractl_alloc_folio
DATA_SOURCE 3 gfp r readahead_gfp_mask
BIT_INFO 3 gfp 0x12000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 index 0-9007212139642875
UNITS 2 index unit_page
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mapping->invalidate_lock

mm/readahead.c ra_alloc_folio() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->host 4096-ptr_max
PARAM_VALUE 0 mapping->invalidate_lock.dep_map->name 0-255
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 index 0-2251799813685247
PARAM_VALUE 3 gfp 0,8192-u32max
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 1 folio r ractl_alloc_folio
DATA_SOURCE 2 index $1
DATA_SOURCE 3 gfp $4
BIT_INFO 3 gfp 0x12000,0xffffffff
NOSPEC 2 index
NOSPEC 2 index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 index 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 mapping->host->i_size
UNITS 2 index unit_page
LOCK2 &mapping->invalidate_lock
TYPE_LOCK (struct address_space)->invalidate_lock

mm/readahead.c readahead_expand() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 gfp 0,8192-u32max
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 1 folio r ractl_alloc_folio
DATA_SOURCE 2 index r mapping_align_index
DATA_SOURCE 3 gfp r readahead_gfp_mask
BIT_INFO 3 gfp 0x12000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page
HALF_LOCKED2 &mapping->invalidate_lock

mm/readahead.c readahead_expand() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 gfp 0,8192-u32max
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 1 folio r ractl_alloc_folio
DATA_SOURCE 2 index r mapping_align_index
DATA_SOURCE 3 gfp r readahead_gfp_mask
BIT_INFO 3 gfp 0x12000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page
HALF_LOCKED2 &mapping->invalidate_lock

fs/btrfs/extent_io.c attach_eb_folio_to_filemap() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 2 index 0-4503601774854142
PARAM_VALUE 3 gfp 35904
UNITS 2 index unit_page

mm/secretmem.c secretmem_fault() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->invalidate_lock.dep_map->name 0-255
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 gfp 0,64-u32max
DATA_SOURCE 1 folio r folio_alloc_noprof
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
USER_DATA 2 index 0-4503599627370495
UNITS 2 index unit_page
LOCK2 0 &mapping->invalidate_lock
TYPE_LOCK (struct address_space)->invalidate_lock

mm/filemap.c __filemap_get_folio_mpol() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->bmap 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->direct_IO 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->dirty_folio 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->error_remove_folio 0,373303432983703552,3650281484867371008,6933238642996355072,7934844886813757440
PARAM_VALUE 0 mapping->a_ops->free_folio 0,87018317492477952,1576041750683152384,3223952723663937536,4787850423793061888
PARAM_VALUE 0 mapping->a_ops->invalidate_folio 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->is_dirty_writeback 0,7518438349615988736,8867638692533350400
PARAM_VALUE 0 mapping->a_ops->is_partially_uptodate 0,1933474595957665792,7182876493439184896
PARAM_VALUE 0 mapping->a_ops->launder_folio 0,122107076755599360,327075084911996928,858079631894568960,7268098942548045824
PARAM_VALUE 0 mapping->a_ops->migrate_folio 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->read_folio 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->readahead 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->release_folio 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->swap_activate 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->swap_deactivate 0,1546359495696728064,3888069641387622400,7359158453655175168,8604917376913055744
PARAM_VALUE 0 mapping->a_ops->swap_rw 0,4986685196838862848,8487923053812363264
PARAM_VALUE 0 mapping->a_ops->write_begin 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->write_end 0,4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->writepages 0,4096-ptr_max
PARAM_VALUE 0 mapping->host->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->host->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mapping->host->i_mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->host->i_mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 0 mapping->host->i_op->get_acl 0,434817594022129664,1176132492164517888,2308293591809245184,2352177825799393280,5894181231315005440,7161457072544161792,8358186677320523776
PARAM_VALUE 0 mapping->host->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 0 mapping->host->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 0 mapping->host->i_op->sync_lazytime 0,6951464784224747520
PARAM_VALUE 0 mapping->host->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 0 mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 0 mapping->host->i_sb->s_cop->inode_info_offs 1632,1640,1720,1808,1816,2632,2640,2648,2704,2712
PARAM_VALUE 0 mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792,2776440803454029824,3228746867770966016,3502492669594062848,3526768263295340544,3559173554394271744,5000850239487131648,5583386343686406144,5817357685191483392-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->fh_to_parent 0,4672,5297,148606482432692224,436469935444291584,457356038048772096,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1293513186369728512,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->host->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 4096-ptr_max
BUF_SIZE 0 mapping (-1),552
BUF_SIZE 0 mapping (-1),552
BUF_SIZE 0 mapping->a_ops (-1),152
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 mapping $0
DATA_SOURCE 1 folio r filemap_alloc_folio_noprof
DATA_SOURCE 2 index r mapping_align_index
DATA_SOURCE 3 gfp $3 [m]
NOSPEC 0 mapping->writeback_index
NOSPEC 2 index
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 index 0-1292716[c]
USER_DATA 0 mapping->writeback_index 0-524287[c]
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
USER_DATA 2 index 0-u64max[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 do_read_cache_folio() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->a_ops->read_folio 0,4096-ptr_max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792,2776440803454029824,3228746867770966016,3502492669594062848,3526768263295340544,3559173554394271744,5000850239487131648,5583386343686406144,5817357685191483392-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->fh_to_parent 0,4672,148606482432692224,436469935444291584,457356038048772096,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max
PARAM_VALUE 0 mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 mapping $0
DATA_SOURCE 1 folio r filemap_alloc_folio_noprof
DATA_SOURCE 2 index r mapping_align_index
DATA_SOURCE 3 gfp $4
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 index 0-1292716[c]
USER_DATA 1 folio->mapping->writeback_index 0-524287[c]
USER_DATA 2 index 0-u64max[c]
UNITS 2 index unit_page
HALF_LOCKED2 0 &mapping->invalidate_lock

mm/filemap.c filemap_create_folio() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 0 mapping->invalidate_lock.dep_map->name 0-255
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mapping->invalidate_lock.first_waiter->type 0-1
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 gfp 0,64-3264
CAPPED_DATA 3 gfp 1
DATA_SOURCE 1 folio r filemap_alloc_folio_noprof
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &mapping->invalidate_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct address_space)->invalidate_lock

mm/folio-compat.c add_to_page_cache_lru() -> filemap_add_folio()

Type Parameter Key Value
DATA_SOURCE 0 mapping $1
DATA_SOURCE 2 index $2
DATA_SOURCE 3 gfp $3

fs/squashfs/block.c squashfs_bio_read_cached() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 1-u64max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 index 0-4503599627370495
PARAM_VALUE 3 gfp 3072
CAPPED_DATA 0 mapping 1
DATA_SOURCE 0 mapping $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page

fs/squashfs/block.c squashfs_bio_read_cached() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 1-u64max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 index 0-4503599627370494,u64max
PARAM_VALUE 3 gfp 3072
CAPPED_DATA 0 mapping 1
DATA_SOURCE 0 mapping $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page

fs/squashfs/block.c squashfs_bio_read_cached() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 1-u64max
PARAM_VALUE 1 folio 1-u64max
PARAM_VALUE 2 index 0-4503599627894782
PARAM_VALUE 3 gfp 3072
CAPPED_DATA 0 mapping 1
DATA_SOURCE 0 mapping $1
RX_PATH
TASK_NOT_RUNNING

fs/nfs/dir.c nfs_symlink() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 index 0
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 1 folio r folio_alloc_noprof
RX_PATH
TASK_NOT_RUNNING

fs/btrfs/compression.c add_ra_bio_folios() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 0 mapping 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 index 0-2251799813685247
PARAM_VALUE 3 gfp 10304,11328
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 1 folio r filemap_alloc_folio_noprof
FUZZY_MAX 3 gfp 11328
BIT_INFO 2 index 0x0,0xfffffffffffff
BIT_INFO 3 gfp 0x2840,0x2c40
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page

fs/f2fs/compress.c f2fs_cache_compressed_page() -> filemap_add_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 index 1-4294967294
PARAM_VALUE 3 gfp 3136
CAPPED_DATA 2 index 1
DATA_SOURCE 1 folio r filemap_alloc_folio_noprof
DATA_SOURCE 2 index $3
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page
HALF_LOCKED2 &pool->lock