Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/inode.c touch_atime() -> mnt_put_write_access()

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
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/file_table.c file_put_write_access() -> mnt_put_write_access()

Type Parameter Key Value
PARAM_VALUE 0 mnt->mnt_sb->s_export_op->flags 0,127
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/file_table.c file_put_write_access() -> mnt_put_write_access()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/overlayfs/util.c ovl_put_write_access() -> mnt_put_write_access()

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

fs/namespace.c mnt_drop_write() -> mnt_put_write_access()

Type Parameter Key Value
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
DATA_SOURCE 0 mnt $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/namespace.c mnt_put_write_access_file() -> mnt_put_write_access()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/open.c file_get_write_access() -> mnt_put_write_access()

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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/open.c file_put_write_access() -> mnt_put_write_access()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/open.c file_put_write_access() -> mnt_put_write_access()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL