Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- fs/overlayfs/dir.c
- fs/overlayfs/file.c
- fs/overlayfs/inode.c
- fs/overlayfs/util.c, line 629
- fs/overlayfs/xattrs.c, line 76
Smatch caller information:
fs/overlayfs/file.c ovl_copyfile() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.osq.tail.counter | 0-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &inode->i_rwsem | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/file.c ovl_fallocate() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.osq.tail.counter | 0-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &inode->i_rwsem | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/file.c ovl_file_modified() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode_out->i_rwsem |
fs/overlayfs/file.c ovl_splice_write() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &inode->i_rwsem | |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/file.c ovl_write_iter() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &inode->i_rwsem | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/inode.c ovl_fileattr_set() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb->s_fs_info | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/inode.c ovl_inode_init() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->bmap | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->direct_IO | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->dirty_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->error_remove_folio | 0,373303432983703552,3650281484867371008,6933238642996355072,7934844886813757440 |
| PARAM_VALUE | 0 | inode->i_data.a_ops->free_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->invalidate_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->is_dirty_writeback | 0,7518438349615988736,8867638692533350400 |
| PARAM_VALUE | 0 | inode->i_data.a_ops->is_partially_uptodate | 0,1933474595957665792,7182876493439184896 |
| PARAM_VALUE | 0 | inode->i_data.a_ops->launder_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->migrate_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->read_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->readahead | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->release_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->swap_activate | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->swap_deactivate | 0,1546359495696728064,3888069641387622400,7359158453655175168,8604917376913055744 |
| PARAM_VALUE | 0 | inode->i_data.a_ops->swap_rw | 0,4986685196838862848,8487923053812363264 |
| PARAM_VALUE | 0 | inode->i_data.a_ops->write_begin | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->write_end | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.a_ops->writepages | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->atomic_open | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->create | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->fiemap | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->fileattr_get | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->fileattr_set | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->get_acl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->get_inode_acl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->get_link | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->get_offset_ctx | 0,2606890545167454208 |
| PARAM_VALUE | 0 | inode->i_op->getattr | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->link | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->listxattr | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->lookup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->mkdir | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->mknod | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->permission | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->readlink | 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256 |
| PARAM_VALUE | 0 | inode->i_op->rename | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->rmdir | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->set_acl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->setattr | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->symlink | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->sync_lazytime | 0,6951464784224747520 |
| PARAM_VALUE | 0 | inode->i_op->tmpfile | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->unlink | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->update_time | 0,4096-ptr_max |
| DATA_SOURCE | 0 | inode | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | inode->i_blkbits | |
| NO_OVERFLOW_SIMPLE | 0 | inode->i_sb->s_blocksize | |
| NO_OVERFLOW_SIMPLE | 0 | inode->i_sb->s_blocksize_bits |
fs/overlayfs/inode.c ovl_set_or_remove_acl() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_mode | 1024-u16max |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | inode | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | inode->i_mode | 1024-u16max |
| USER_DATA | 0 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock |
fs/overlayfs/inode.c ovl_setattr() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_data.host->i_sb->s_export_op->fh_to_parent | 0,4672,5297,4573560380487,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max |
| PARAM_VALUE | 0 | inode->i_mapping->host->i_sb->s_bdev->bd_holder_ops->freeze | 7536128971011219456 |
| PARAM_VALUE | 0 | inode->i_mapping->host->i_sb->s_bdev->bd_holder_ops->sync | 8235259936313790464 |
| PARAM_VALUE | 0 | inode->i_mapping->host->i_sb->s_cop->empty_dir | 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144 |
| PARAM_VALUE | 0 | inode->i_mapping->host->i_sb->s_cop->get_context | 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416 |
| PARAM_VALUE | 0 | inode->i_mapping->host->i_sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648,2712 |
| PARAM_VALUE | 0 | inode->i_mapping->host->i_sb->s_cop->set_context | 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112 |
| PARAM_VALUE | 0 | inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_mapping->invalidate_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | inode->i_mapping->invalidate_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_op | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_op->get_acl | 0,434817594022129664,1176132492164517888,2308293591809245184,2352177825799393280,5894181231315005440,7161457072544161792,8358186677320523776 |
| PARAM_VALUE | 0 | inode->i_op->get_offset_ctx | 0,2606890545167454208 |
| PARAM_VALUE | 0 | inode->i_op->readlink | 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256 |
| PARAM_VALUE | 0 | inode->i_op->sync_lazytime | 0,6951464784224747520 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb->dq_op->alloc_dquot | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb->s_cop->empty_dir | 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144 |
| PARAM_VALUE | 0 | inode->i_sb->s_cop->get_context | 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416 |
| PARAM_VALUE | 0 | inode->i_sb->s_cop->inode_info_offs | 1632,1640,1720,1808,1816,2632,2640,2648,2704,2712 |
| PARAM_VALUE | 0 | inode->i_sb->s_cop->set_context | 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112 |
| PARAM_VALUE | 0 | inode->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 | inode->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 | inode->i_sb->s_op->dirty_inode | 0,621408797344559104,3913825662048972800,5398169538550730752,5762663374499221504,5910256729421369344,7426269908539875328,8470241182936211456 |
| PARAM_VALUE | 0 | inode->i_sb->s_op->shutdown | 0,270907176096247808,394905300707143680,1621038160951336960,2742114378027888640,4674517140434182144,5302154572152815616,9061279276729196544 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | inode->i_mode | 0-u16max |
| USER_DATA | 0 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| LOCK2 | &upperdentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &inode->i_rwsem | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/util.c ovl_dir_modified() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/overlayfs/dir.c ovl_do_remove() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | inode->i_mode | 0-u16max |
| USER_DATA | 0 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dentry->d_sb->s_vfs_rename_mutex | ||
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dir->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/overlayfs/dir.c ovl_rename_upper() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &old_upperdir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | &whiteout->d_lockref.lock |
fs/overlayfs/dir.c ovl_rename_upper() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &old_upperdir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | &whiteout->d_lockref.lock |
fs/overlayfs/xattrs.c ovl_xattr_set() -> ovl_copyattr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_opflags | 8-u16max |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb->s_xattr | 1-u64max |
| DATA_SOURCE | 0 | inode | $1 |
| STR_LEN | 0 | inode | (-1)-0 |
| STR_LEN | 0 | inode | (-1)-0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | inode->i_mode | 0-u16max |
| USER_DATA | 0 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | 0 | &inode->i_rwsem |