Documented in 1 files:
Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
fs/nfs/dir.c nfs_add_or_obtain() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dentry->d_lockref.lock |
fs/nfs/dir.c nfs_atomic_open() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| DATA_SOURCE | 0 | dir | $0 |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dir_inode->i_rwsem |
fs/nfs/dir.c nfs_dentry_remove_handle_error() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| CAPPED_DATA | 0 | dir | 1 |
| DATA_SOURCE | 0 | dir | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dir->i_size | |
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_sb->s_vfs_rename_mutex | ||
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dir->i_rwsem | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/nfs/dir.c nfs_dentry_remove_handle_error() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| CAPPED_DATA | 0 | dir | 1 |
| DATA_SOURCE | 0 | dir | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dir->i_size | |
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &dentry->d_sb->s_vfs_rename_mutex | ||
| HALF_LOCKED2 | &dir->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dir->i_rwsem | |
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/nfs/dir.c nfs_link() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| CAPPED_DATA | 0 | dir->i_sb | 1 |
| CAPPED_DATA | 0 | dir->i_sb->s_user_ns->gid_map.nr_extents | 1 |
| CAPPED_DATA | 0 | dir->i_sb->s_user_ns->uid_map.nr_extents | 1 |
| DATA_SOURCE | 0 | dir | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dir->i_mode | 0-u16max |
| USER_DATA | 0 | dir->i_size | (-9223372036854775807)-(-4),0-s64max |
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/nfs/dir.c nfs_lookup() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| DATA_SOURCE | 0 | dir | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dir->i_mode | 0-u16max |
| USER_DATA | 0 | dir->i_size | (-9223372036854775807)-(-4),0-s64max |
| NO_OVERFLOW_SIMPLE | 0 | dir->i_blkbits | |
| HALF_LOCKED2 | 0 | &dir->i_rwsem |
fs/nfs/dir.c nfs_lookup_revalidate_delegated() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | dir | $0 |
| STR_LEN | 0 | dir | (-1),1-24,26-27,29,31-34,63,99,115,254-255 |
| STR_LEN | 0 | dir | (-1),1-24,26-27,29,31-34,63,99,115,254-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dir->i_size | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &dir->i_rwsem |
fs/nfs/dir.c nfs_lookup_revalidate_dentry() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | dir | $0 |
| STR_LEN | 0 | dir | (-1),1-24,26-27,29,31-34,63,99,115,254-255 |
| STR_LEN | 0 | dir | (-1),1-24,26-27,29,31-34,63,99,115,254-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dir->i_size | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &dir->i_rwsem |
fs/nfs/dir.c nfs_readdir_xdr_filler() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &dir_fp->readdir_lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/nfs/dir.c nfs_rename() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| CAPPED_DATA | 0 | dir | 1 |
| DATA_SOURCE | 0 | dir | $3 |
| RX_PATH | |||
| HALF_LOCKED2 | &source->i_rwsem | ||
| HALF_LOCKED2 | &target->i_rwsem |
fs/nfs/dir.c nfs_symlink() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| CAPPED_DATA | 0 | dir->i_sb->s_user_ns->gid_map.nr_extents | 1 |
| CAPPED_DATA | 0 | dir->i_sb->s_user_ns->uid_map.nr_extents | 1 |
| DATA_SOURCE | 0 | dir | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | dir->i_mode | 0-u16max |
| USER_DATA | 0 | dir->i_size | (-9223372036854775807)-(-4),0-s64max |
fs/nfs/dir.c nfs_verify_change_attribute() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 1-u64max |
| DATA_SOURCE | 0 | dir | $0 |
| STR_LEN | 0 | dir | (-1),1-24,26-27,29,31-34,63,99,115,254-255 |
| STR_LEN | 0 | dir | (-1),1-24,26-27,29,31-34,63,99,115,254-255 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | dir->i_blkbits | |
| NO_OVERFLOW_SIMPLE | 0 | dir->i_size | |
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | 0 | &dir->i_rwsem |
fs/nfs/nfs4proc.c _nfs4_open_and_get_state() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/nfs/nfs4proc.c _nfs4_open_and_get_state() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/nfs/unlink.c nfs_sillyrename() -> nfs_save_change_attribute()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| CAPPED_DATA | 0 | dir | 1 |
| DATA_SOURCE | 0 | dir | $0 |
| RX_PATH | |||
| HALF_LOCKED2 | &sdentry->d_lockref.lock | ||
| HALF_LOCKED2 | &target->i_rwsem | ||
| HALF_LOCKED2 | 0 | &dir->i_rwsem |