Documented in 1 files:
Defined in 2 files as a function:
- include/linux/filelock.h, line 539 (as a function)
- include/linux/filelock.h, line 597 (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 |