Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

security/apparmor/apparmorfs.c aa_mk_null_file() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max

security/apparmor/apparmorfs.c policy_get_link() -> mntget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/namei.c follow_up() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 global &mount_lock.lock
TYPE_LOCK (struct seqlock)->lock

fs/namei.c path_get() -> mntget()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cache->daemon_mutex
HALF_LOCKED2 &detail->hash_lock
HALF_LOCKED2 &fs->seq.lock
HALF_LOCKED2 &lo->lo_mutex
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &old->seq.lock
HALF_LOCKED2 &p->alloc_lock
HALF_LOCKED2 &task->alloc_lock
HALF_LOCKED2 &task->signal->exec_update_lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &namespace_sem
HALF_LOCKED2 global &tasklist_lock

fs/namei.c pick_link() -> mntget()

Type Parameter Key Value
CAPPED_DATA 0 mnt 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/file_table.c alloc_path_pseudo() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
DATA_SOURCE 0 mnt $2
STR_LEN 0 mnt (-1)-0,4,8,10-11,13,16-23,25-28,32
STR_LEN 0 mnt (-1)-0,4,8,10-11,13,16-23,25-28,32
RX_PATH
TASK_NOT_RUNNING

net/unix/af_unix.c unix_bind_bsd() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &u->bindlock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &o2nm_cluster_group.cs_subsys.su_mutex
TYPE_LOCK (struct unix_sock)->bindlock

fs/namespace.c __do_sys_fsmount() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
BUF_SIZE 0 mnt 32
NOCHECK_CALL

fs/namespace.c __do_sys_fsmount() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
BUF_SIZE 0 mnt 32
NOCHECK_CALL

fs/namespace.c copy_mnt_ns() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &namespace_sem
HALF_LOCKED2 &tsk->signal->exec_update_lock

fs/namespace.c copy_mnt_ns() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &namespace_sem
HALF_LOCKED2 &tsk->signal->exec_update_lock

fs/namespace.c copy_mnt_ns() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &namespace_sem
HALF_LOCKED2 &tsk->signal->exec_update_lock

fs/namespace.c copy_mnt_ns() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &namespace_sem
HALF_LOCKED2 &tsk->signal->exec_update_lock

fs/namespace.c do_lock_mount() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
NOCHECK_CALL
LOCK2 global &mount_lock.lock

fs/namespace.c grab_requested_root() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
LOCK2 global &namespace_sem

fs/namespace.c open_detached_copy() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max

fs/nfsd/vfs.c nfsd_cross_mnt() -> mntget()

Type Parameter Key Value

fs/nfsd/vfs.c nfsd_lookup_parent() -> mntget()

Type Parameter Key Value

fs/fhandle.c do_handle_to_path() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max

fs/xfs/xfs_handle.c xfs_open_by_handle() -> mntget()

Type Parameter Key Value
CAPABLE 0 21

fs/libfs.c path_from_stashed() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
DATA_SOURCE 0 mnt $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem

fs/libfs.c simple_pin_fs() -> mntget()

Type Parameter Key Value
PARAM_VALUE 0 mnt 1-u64max
BUF_SIZE 0 mnt (-1),32
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pin_fs_lock