Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/xattr.c __vfs_removexattr() -> (struct xattr_handler)->set()

Type Parameter Key Value
PARAM_VALUE 0 handler 4096-ptr_max
PARAM_VALUE 0 handler->set 1-u64max
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_inode 4096-ptr_max
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_inode->i_opflags 8-u16max
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_inode->i_sb 4096-ptr_max
PARAM_VALUE 2 dentry->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 2 dentry->d_inode->i_sb->s_xattr 1-u64max
PARAM_VALUE 3 inode 4096-ptr_max
PARAM_VALUE 3 inode->i_opflags 8-u16max
PARAM_VALUE 3 inode->i_sb 4096-ptr_max
PARAM_VALUE 3 inode->i_sb->s_xattr 1-u64max
PARAM_VALUE 4 suffix 4096-ptr_max
PARAM_VALUE 4 *suffix 0-255
PARAM_VALUE 5 value 0
PARAM_VALUE 6 size 0
PARAM_VALUE 7 flags 2
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 2 dentry (-1),1-s32max
DATA_SOURCE 0 handler r xattr_resolve_name
DATA_SOURCE 1 idmap $0
DATA_SOURCE 2 dentry $1
DATA_SOURCE 4 suffix $2 [m]
STR_LEN 0 handler (-1),12,19
STR_LEN 1 idmap (-1),12
STR_LEN 1 idmap (-1),12,19
STR_LEN 2 dentry (-1),12
CONTAINER 0 -40+0 $(-1)
PARAM_COMPARE 2 dentry->d_inode == $3
PARAM_COMPARE 3 inode == $2->d_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dentry->d_inode->i_mode 0-u16max
USER_DATA 2 dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 3 inode->i_mode 0-u16max
USER_DATA 3 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 2 dentry->dentry->d_inode->i_size
NO_OVERFLOW_SIMPLE 2 dentry->moved->d_inode->i_size
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &lower_inode->i_rwsem
HALF_LOCKED2 2 &dentry->d_inode->i_rwsem

fs/xattr.c __vfs_setxattr() -> (struct xattr_handler)->set()

Type Parameter Key Value
PARAM_VALUE 0 handler 4096-ptr_max
PARAM_VALUE 0 handler->set 1-u64max
PARAM_VALUE 2 dentry 4096-ptr_max
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 2 dentry->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 dentry->d_op->d_compare 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_delete 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_hash 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 dentry->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 dentry->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 dentry->d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 dentry->d_op->d_release 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_revalidate 0,4096-ptr_max
PARAM_VALUE 2 dentry->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 dentry->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 dentry->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 2 dentry->d_parent->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 dentry->d_parent->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 2 dentry->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 3 inode 4096-ptr_max
PARAM_VALUE 3 inode->i_opflags 8-u16max
PARAM_VALUE 3 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 inode->i_sb 4096-ptr_max
PARAM_VALUE 3 inode->i_sb->s_xattr 1-u64max
PARAM_VALUE 4 suffix 4096-ptr_max
PARAM_VALUE 4 *suffix 0-255
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 2 dentry (-1),1-s32max
BUF_SIZE 5 value (-1)-s32max
BUF_SIZE 5 value (-1)-s32max
DATA_SOURCE 0 handler r xattr_resolve_name
DATA_SOURCE 1 idmap $0
DATA_SOURCE 2 dentry $1
DATA_SOURCE 3 inode $2
DATA_SOURCE 4 suffix $3 [m]
DATA_SOURCE 5 value $4 [m]
DATA_SOURCE 6 size $5
DATA_SOURCE 7 flags $6
STR_LEN 0 handler (-1),12-14,16
STR_LEN 1 idmap (-1),12
STR_LEN 1 idmap (-1),12-14,16
STR_LEN 2 dentry (-1),12
STR_LEN 2 dentry (-1)-0
STR_LEN 5 value (-1)-0
CONTAINER 0 -40+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dentry->d_inode->i_mode 0-u16max
USER_DATA 2 dentry->d_inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 3 inode->i_mode 0-u16max
USER_DATA 3 inode->i_size (-9223372036854775807)-(-4),0-s64max
USER_DATA 6 size 0-65536
USER_DATA 7 flags 0-2
NO_OVERFLOW_SIMPLE 2 dentry->d_sb->s_blocksize
NO_OVERFLOW_SIMPLE 2 dentry->d_sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 2 dentry->moved->d_inode->i_size
NO_OVERFLOW_SIMPLE 5 *value
USER_PTR 5 value
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 3 &inode->i_rwsem