Documented in 1 files:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/xattr.c __vfs_removexattr_locked() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode->i_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 di 0,5490500432589352960
PARAM_VALUE 2 di->di_inode 0
DATA_SOURCE 2 di $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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
TYPE_LOCK (struct inode)->i_rwsem

fs/xattr.c __vfs_setxattr_locked() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 di 0,6110717653730811904
PARAM_VALUE 2 di->di_inode 0
DATA_SOURCE 2 di $6
RX_PATH
TASK_NOT_RUNNING
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 &lower_inode->i_rwsem

fs/attr.c notify_change() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 di 0,2446147825389539328,3185711719821746176,7349817990732603392
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 2 di $3
PARAM_COMPARE 0 inode->i_sb->s_time_max >= $0->i_sb->s_time_min
RX_PATH
TASK_NOT_RUNNING
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 &pool->lock

fs/namei.c lookup_open() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->atomic_open 0
PARAM_VALUE 0 inode->i_op->create 0,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,2624917664208203776
PARAM_VALUE 0 inode->i_rwsem.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 flags 32
PARAM_VALUE 2 di 2671681756106301440
PARAM_VALUE 2 di->di_inode 0
BIT_INFO 0 inode->i_flags 0x0,0xffffffef
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
TYPE_LOCK (struct inode)->i_rwsem

fs/namei.c vfs_create() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->create 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 1 flags 32
PARAM_VALUE 2 di 0,2886034689772429312
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 2 di $3
RX_PATH
TASK_NOT_RUNNING

fs/namei.c vfs_link() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->link 4096-ptr_max
PARAM_VALUE 0 inode->i_op->mknod 0,4096-ptr_max
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 1 flags 32
PARAM_VALUE 2 di 0,6320029024165384192
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode->i_sb 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $2
DATA_SOURCE 2 di $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/namei.c vfs_link() -> try_break_deleg()

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
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 di 0,6320029024165384192
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 2 di $4
BIT_INFO 0 inode->i_flags 0x0,0xfffffff3
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/namei.c vfs_mkdir() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->mkdir 4096-ptr_max
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 1 flags 32
PARAM_VALUE 2 di 0,2998680122532675584
PARAM_VALUE 2 di->di_inode 0
BUF_SIZE 0 inode (-1),1160
BUF_SIZE 0 inode (-1),1160
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $1
DATA_SOURCE 2 di $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

fs/namei.c vfs_mknod() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->mknod 4096-ptr_max
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 1 flags 32
PARAM_VALUE 2 di 0,2886034689772429312
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $1
DATA_SOURCE 2 di $5
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 _T->lock

fs/namei.c vfs_rename() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rename 4096-ptr_max
PARAM_VALUE 1 flags 64,128
CAPPED_DATA 0 inode 1
FUZZY_MAX 1 flags 128
BIT_INFO 1 flags 0x0,0xc0
HARD_MAX 1 flags 128
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/namei.c vfs_rename() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 1 flags 32
CAPPED_DATA 0 inode 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/namei.c vfs_rename() -> try_break_deleg()

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 1 flags 0
BIT_INFO 0 inode->i_flags 0x0,0xfffffeff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/namei.c vfs_rename() -> try_break_deleg()

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 1 flags 0
BIT_INFO 0 inode->i_flags 0x0,0xfffffeff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem

fs/namei.c vfs_rmdir() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rmdir 4096-ptr_max
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 1 flags 64
PARAM_VALUE 2 di 0,2760981641129500672
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $1
DATA_SOURCE 2 di $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/namei.c vfs_symlink() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->symlink 4096-ptr_max
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 1 flags 32
PARAM_VALUE 2 di 0,5106086061318447104
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode->i_sb->s_user_ns->gid_map.nr_extents 1
CAPPED_DATA 0 inode->i_sb->s_user_ns->uid_map.nr_extents 1
DATA_SOURCE 0 inode $1
DATA_SOURCE 2 di $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

fs/namei.c vfs_unlink() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->unlink 4096-ptr_max
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 1 flags 64
PARAM_VALUE 2 di 0,4146115630106689536
PARAM_VALUE 2 di->di_inode 0
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $1
DATA_SOURCE 2 di $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 &target->i_rwsem
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/namei.c vfs_unlink() -> try_break_deleg()

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 1 flags 0
PARAM_VALUE 2 di 0,4146115630106689536
PARAM_VALUE 2 di->di_inode 0
DATA_SOURCE 2 di $3
BIT_INFO 0 inode->i_flags 0x0,0xfffffeff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 0 &inode->i_rwsem
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/posix_acl.c vfs_remove_acl() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op->set_acl 0,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 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 flags 0
PARAM_VALUE 2 di 3821106484300681216
PARAM_VALUE 2 di->di_inode 0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/posix_acl.c vfs_set_acl() -> try_break_deleg()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op->set_acl 0,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 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 flags 0
PARAM_VALUE 2 di 2019176383424200704
PARAM_VALUE 2 di->di_inode 0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem