Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 20 files:
- fs/9p/acl.c, line 193
- fs/attr.c
- fs/btrfs/ioctl.c
- fs/ceph/ioctl.c
- fs/crypto/policy.c, line 541
- fs/ext2/ioctl.c
- fs/ext4/ioctl.c
- fs/f2fs/file.c
- fs/f2fs/xattr.c, line 122
- fs/fcntl.c
- fs/file_attr.c, line 278
- fs/inode.c, line 2765
- fs/namei.c
- fs/overlayfs/file.c, line 48
- fs/overlayfs/inode.c, line 553
- fs/overlayfs/util.c, line 682
- fs/posix_acl.c, line 952
- fs/xattr.c, line 168
- include/linux/fs.h, line 2470
- security/selinux/hooks.c
Smatch caller information:
fs/xattr.c xattr_permission() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_mode | 512-u16max |
| DATA_SOURCE | 0 | idmap | $0 |
| DATA_SOURCE | 1 | inode | $1 |
| STR_LEN | 0 | idmap | (-5)-1010101 |
| STR_LEN | 0 | idmap | (-5)-1010101 |
| BIT_INFO | 1 | inode->i_mode | 0x200,0xffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_mode | 512-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
mm/madvise.c file_owner_or_capable() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/attr.c may_setattr() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| DATA_SOURCE | 1 | inode | $1 |
| BIT_INFO | 1 | inode->i_flags | 0x0,0xfffffff7 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock |
fs/attr.c setattr_prepare() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_blocks | 0-36028797018963960[c] |
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-2),0-s64max |
| HALF_LOCKED2 | &root->kernfs_iattr_rwsem | ||
| HALF_LOCKED2 | &sbi->hpfs_mutex |
fs/attr.c setattr_prepare() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_blocks | 0-36028797018963960[c] |
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-2),0-s64max |
| HALF_LOCKED2 | &root->kernfs_iattr_rwsem | ||
| HALF_LOCKED2 | &sbi->hpfs_mutex |
fs/crypto/policy.c fscrypt_ioctl_set_policy() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|
fs/file_attr.c vfs_fileattr_set() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_op | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_op->fileattr_set | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
fs/namei.c may_linkat() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/namei.c may_open() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| BIT_INFO | 1 | inode->i_flags | 0x0,0xffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/overlayfs/file.c ovl_open_realfile() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/overlayfs/inode.c ovl_set_acl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| STR_LEN | 0 | idmap | (-1),23-24 |
| STR_LEN | 0 | idmap | (-1),23-24 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &dentry->d_lockref.lock |
fs/overlayfs/util.c ovl_path_open() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/filemap.c file_owner_or_capable() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|
fs/ceph/ioctl.c ceph_ioctl_set_layout() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
fs/ceph/ioctl.c ceph_ioctl_set_layout_policy() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
fs/posix_acl.c set_posix_acl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_op | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_op->set_acl | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
| STR_LEN | 0 | idmap | (-1),23-24 |
| STR_LEN | 0 | idmap | (-1),23-24 |
| BIT_INFO | 1 | inode->i_sb->s_flags | 0x10000,0xffffffffffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &inode->i_rwsem |
fs/f2fs/xattr.c f2fs_xattr_advise_set() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_opflags | 8-u16max |
| PARAM_VALUE | 1 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb->s_xattr | 1-u64max |
| DATA_SOURCE | 0 | idmap | $1 |
| DATA_SOURCE | 1 | inode | $3 |
| STR_LEN | 0 | idmap | (-1),12 |
| STR_LEN | 0 | idmap | (-1),12 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &unused->d_inode->i_rwsem | ||
| HALF_LOCKED2 | 1 | &inode->i_rwsem |
fs/ext2/ioctl.c ext2_ioctl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idmap | 1531479832127729664 |
fs/ext2/ioctl.c ext2_ioctl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idmap | 1531479832127729664 |
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
mm/mincore.c file_owner_or_capable() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|
fs/btrfs/ioctl.c __btrfs_ioctl_snap_create() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| CAPPED_DATA | 1 | inode->i_sb | 1 |
| DATA_SOURCE | 0 | idmap | r file_mnt_idmap |
| DATA_SOURCE | 1 | inode | r file_inode |
fs/btrfs/ioctl.c _btrfs_ioctl_set_received_subvol() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| CAPPED_DATA | 1 | inode->i_sb->s_time_max | 1 |
| DATA_SOURCE | 0 | idmap | $1 |
| PARAM_COMPARE | 1 | inode->i_sb->s_time_max | >= $1->i_sb->s_time_min |
fs/btrfs/ioctl.c btrfs_ioctl_subvol_setflags() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|
fs/f2fs/file.c f2fs_ioc_abort_atomic_write() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | idmap | r file_mnt_idmap |
fs/f2fs/file.c f2fs_ioc_commit_atomic_write() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | idmap | r file_mnt_idmap |
fs/f2fs/file.c f2fs_ioc_start_atomic_write() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | r file_mnt_idmap |
fs/ext4/ioctl.c __ext4_ioctl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | r file_mnt_idmap |
fs/ext4/ioctl.c __ext4_ioctl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | r file_mnt_idmap |
fs/ext4/ioctl.c swap_inode_boot_loader() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_nlink | 1 |
| PARAM_VALUE | 1 | inode->i_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | inode->i_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 1 | inode->i_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 1 | inode->i_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | inode->i_rwsem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $1 |
| DATA_SOURCE | 1 | inode | $2 |
| BIT_INFO | 1 | inode->i_flags | 0x0,0xffffbef3 |
security/selinux/hooks.c selinux_inode_setxattr() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | idmap | $0 |
security/selinux/hooks.c selinux_inode_setxattr() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| PARAM_VALUE | 1 | inode->i_sb | 4096-ptr_max |
| DATA_SOURCE | 0 | idmap | $0 |
fs/9p/acl.c v9fs_iop_set_acl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idmap | 1531479832127729664 |
| PARAM_VALUE | 1 | inode | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | inode->i_mode | 0-u16max |
| USER_DATA | 1 | inode->i_size | (-9223372036854775807)-(-4),0-s64max |
| HALF_LOCKED2 | &dentry->d_lockref.lock |
fs/fcntl.c fcntl_set_rw_hint() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|
fs/fcntl.c setfl() -> inode_owner_or_capable()
| Type | Parameter | Key | Value |
|---|