Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 14 files:

Smatch caller information:

fs/xattr.c filename_removexattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
NOCHECK_CALL

fs/xattr.c filename_setxattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfsd/nfsproc.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &dchild->d_lockref.lock

fs/nfsd/nfs2acl.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/nfsd/nfs4proc.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/file_attr.c __do_sys_file_setattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL

fs/file_attr.c __do_sys_file_setattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL

fs/namei.c do_open() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL

fs/namei.c do_tmpfile() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c end_creating_path() -> mnt_drop_write()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/namei.c filename_create() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c filename_renameat2() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
CAPPED_DATA 0 mnt 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c filename_rmdir() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c filename_unlinkat() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_lockref.lock

fs/namei.c start_removing_path() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL

fs/utimes.c vfs_utimes() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/cachefiles/xattr.c cachefiles_remove_object_xattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ci->i_truncate_mutex
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &inode->i_rwsem

fs/cachefiles/xattr.c cachefiles_set_volume_xattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/overlayfs/util.c ovl_drop_write() -> mnt_drop_write()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfsd/nfs3proc.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/overlayfs/super.c ovl_get_indexdir() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
DATA_SOURCE 0 mnt r ovl_upper_mnt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &ofs->workdir->d_lockref.lock
HALF_LOCKED2 &sb->s_umount

fs/overlayfs/super.c ovl_make_workdir() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
DATA_SOURCE 0 mnt r ovl_upper_mnt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount

fs/nfsd/vfs.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/smb/server/vfs.c ksmbd_vfs_kern_path_create() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_kern_path_end_removing() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_path_lookup() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL

fs/smb/server/vfs.c ksmbd_vfs_remove_acl_xattrs() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_remove_xattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_rename() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
CAPPED_DATA 0 mnt 1
NOCHECK_CALL
LOCK2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_setxattr() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/smb/server/vfs.c ksmbd_vfs_unlink() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 &dir->d_lockref.lock

fs/nfsd/nfs3acl.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/init.c init_chown() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/quota/quota.c __do_sys_quotactl_fd() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/quota/quota.c __do_sys_quotactl_fd() -> mnt_drop_write()

Type Parameter Key Value
NOCHECK_CALL

fs/open.c chmod_common() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/open.c do_fchownat() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
NOCHECK_CALL

fs/open.c vfs_truncate() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &key->sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &zone->lock

fs/nfsd/nfsfh.c fh_drop_write() -> mnt_drop_write()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 global &nlm_file_mutex

ipc/mqueue.c __do_sys_mq_unlink() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_root 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_root->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mnt->mnt_root->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_bmap_bits 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_bmap_count 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_data_blksize 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_hashsize s32min-s32max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_last_bmap 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_mode 0-u16max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_partition_size s32min-s32max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_reserved s32min-s32max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_root_block 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->work_queued s32min-s32max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
NOCHECK_CALL

ipc/mqueue.c __do_sys_mq_unlink() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_root 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_root->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mnt->mnt_root->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_bmap_bits 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_bmap_count 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_data_blksize 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_hashsize s32min-s32max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_last_bmap 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_mode 0-u16max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_partition_size s32min-s32max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_reserved s32min-s32max
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->s_root_block 0-4294967295
PARAM_VALUE 0 mnt->mnt_root->d_sb->s_fs_info->work_queued s32min-s32max
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
NOCHECK_CALL

ipc/mqueue.c do_mq_open() -> mnt_drop_write()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_root->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mnt->mnt_root->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 mnt->mnt_sb 4096-ptr_max
PARAM_VALUE 0 mnt->mnt_sb->s_readonly_remount 0
NOCHECK_CALL