Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
fs/fuse/dax.c fuse_dax_direct_write() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| CAPPED_DATA | 1 | pos | 1 |
| CAPPED_DATA | 1 | pos | 1 |
| DATA_SOURCE | 2 | written | r fuse_direct_io |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | pos | s64min-(-2),0-9223372036854775806[c] |
| UNITS | 1 | pos | unit_byte |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/fuse/passthrough.c fuse_passthrough_end_write() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 2 | written | $1 |
| NOSPEC | 2 | written | |
| NOSPEC | 2 | written | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 2 | written | 2-4294967295[c] |
| USER_DATA | 1 | pos | s64min-(-2),0-s64max |
| USER_DATA | 2 | written | s64min-s64max |
| UNITS | 1 | pos | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/fuse/notify.c fuse_notify_store() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_hash.pprev | 1-u64max |
| PARAM_VALUE | 0 | inode->i_lock.rlock.dep_map->name | 0-255 |
| 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_op->get_acl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_wb->dwork.wq->dfl_pwq | 0-s64max |
| PARAM_VALUE | 0 | inode->i_wb->dwork.wq->saved_max_active | s32min-s32max |
| PARAM_VALUE | 0 | inode->i_wb->dwork.wq->saved_min_active | s32min-s32max |
| PARAM_VALUE | 1 | pos | (-9223372036854775807)-s64max |
| CAPPED_DATA | 1 | pos | 1 |
| CAPPED_DATA | 1 | pos | 1 |
| CAPPED_DATA | 2 | written | 1 |
| DATA_SOURCE | 0 | inode | r fuse_ilookup |
| PARAM_COMPARE | 1 | pos | >= $2 |
| PARAM_COMPARE | 1 | pos | >= $2 |
| PARAM_COMPARE | 2 | written | <= $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | inode->i_bytes | |
| UNITS | 1 | pos | unit_byte |
| UNITS | 2 | written | unit_byte |
| LOCK2 | &fc->killsb | ||
| TYPE_LOCK | (struct fuse_conn)->killsb |
fs/fuse/file.c __fuse_copy_file_range() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_mapping | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_rwsem.count.counter | s64min-(-1),1-s64max |
| 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 | 1 | pos | 0-2000000000 |
| PARAM_VALUE | 2 | written | 0-1000000000 |
| CAPPED_DATA | 1 | pos | 1 |
| CAPPED_DATA | 2 | written | 1 |
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | pos | 1-2000000000[c] |
| UNITS | 1 | pos | unit_byte |
| UNITS | 2 | written | unit_byte |
| LOCK2 | 0 | &inode->i_rwsem | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/fuse/file.c fuse_direct_IO() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | pos | s64min-(-2),0-s64max |
| USER_DATA | 2 | written | s32min-(-1),1-s32max |
| UNITS | 1 | pos | unit_byte |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &iocb->ki_filp->f_inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock |
fs/fuse/file.c fuse_direct_write_iter() -> fuse_write_update_attr()
| 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->handoff_set | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | inode->i_rwsem.osq.tail.counter | 0-s32max |
| DATA_SOURCE | 2 | written | r fuse_direct_io |
| NOSPEC | 2 | written | |
| NOSPEC | 2 | written | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | pos | s64min-(-2),0-s64max |
| USER_DATA | 2 | written | 1-s64max |
| UNITS | 1 | pos | unit_byte |
| LOCK2 | &iocb->ki_filp->f_inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/fuse/file.c fuse_file_fallocate() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_flags | 0,4096-u32max |
| PARAM_VALUE | 0 | inode->i_io_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_io_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_io_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_io_list.prev->next | 4096-ptr_max |
| 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->type | 0-1 |
| 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->s_cop->inode_info_offs | 1632,1720,1808,2632,2648 |
| PARAM_VALUE | 0 | inode->i_sb->s_export_op->fh_to_parent | 0,5297,148606482432692224,436469935444291584,467281172929331200 |
| PARAM_VALUE | 0 | inode->i_sb->s_export_op->get_parent | 0,8931,264940071972966400,291591359766798336,565128213429456896 |
| PARAM_VALUE | 0 | inode->i_wb->dwork->timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_wb->dwork.work.entry.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_wb->list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | inode->i_wb->work_lock.rlock.dep_map->name | 0-255 |
| DATA_SOURCE | 2 | written | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | written | 1-s64max |
| LOCK2 | 0 | &inode->i_rwsem | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &inode->i_mapping->invalidate_lock | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/fuse/file.c fuse_perform_write() -> fuse_write_update_attr()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | inode | 4096-ptr_max |
| PARAM_VALUE | 0 | inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 2 | written | 0-s64max |
| FUZZY_MAX | 2 | written | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | pos | s64min-9223372036854775806 |
| UNITS | 1 | pos | unit_byte |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |