Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/namei.c __follow_mount_rcu() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 1 dentry 4096-ptr_max
BUF_SIZE 0 mnt (-1),32
BUF_SIZE 0 mnt (-1),32
BUF_SIZE 1 dentry (-1),1-s32max
BUF_SIZE 1 dentry (-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dentry->__d_name.hash 0-u32max[c]
UNITS 1 dentry unit_jiffy
USER_PTR 1 dentry->__d_name.name

fs/namespace.c __path_is_mountpoint() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 1 dentry 4096-ptr_max
PARAM_VALUE 1 dentry->d_flags 32768-u32max
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dentry->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 1 dentry->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 1 dentry->d_op->d_real 0,4509355519306412032
BUF_SIZE 0 mnt (-1)-0,32
BUF_SIZE 0 mnt (-1)-0,32
BUF_SIZE 1 dentry (-1),1-s32max
BUF_SIZE 1 dentry (-1),1-s32max
CAPPED_DATA 1 dentry 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dentry->__d_name.hash 0-u32max[c]
USER_PTR 1 dentry->__d_name.name
LOCK2 rcu_read
HALF_LOCKED2 &sbi->fs_lock
HALF_LOCKED2 &sbi->lookup_lock
HALF_LOCKED2 1 &dentry->d_lockref.lock

fs/namespace.c attach_recursive_mnt() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
UNITS 1 dentry unit_jiffy
LOCK2 global &mount_lock.lock

fs/namespace.c lookup_mnt() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->type 0-1
BUF_SIZE 0 mnt (-1)-0,32
BUF_SIZE 0 mnt (-1)-0,32
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 dentry->__d_name.hash 0-u32max[c]
USER_PTR 1 dentry->__d_name.name
LOCK2 rcu_read
HALF_LOCKED2 1 &dentry->d_lockref.lock

fs/namespace.c path_overmounted() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 1 dentry->d_inode 4096-ptr_max
PARAM_VALUE 1 dentry->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dentry->d_inode->i_rwsem.osq.tail.counter 0-s32max
BUF_SIZE 0 mnt (-1)-0,32
BUF_SIZE 0 mnt (-1)-0,32
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_inode->i_rwsem
LOCK2 global &namespace_sem
LOCK2 rcu_read
TYPE_LOCK (struct inode)->i_rwsem

fs/namespace.c path_overmounted() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 1 dentry->d_inode 4096-ptr_max
PARAM_VALUE 1 dentry->d_inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 dentry->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 dentry->d_inode->i_rwsem.osq.tail.counter 0-s32max
BUF_SIZE 0 mnt (-1)-0,32
BUF_SIZE 0 mnt (-1)-0,32
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_inode->i_rwsem
LOCK2 global &mount_lock.lock
LOCK2 global &namespace_sem
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct seqlock)->lock

fs/namespace.c where_to_mount() -> __lookup_mnt()

Type Parameter Key Value
LOCK2 global &mount_lock.lock
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem

fs/pnode.c gather_candidates() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 0 mnt 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dentry unit_jiffy
LOCK2 global &mount_lock.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem

fs/pnode.c propagate_mount_busy() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 0 mnt 32,4096-ptr_max
UNITS 1 dentry unit_jiffy
LOCK2 global &mount_lock.lock
LOCK2 global &namespace_sem

fs/pnode.c propagate_mount_unlock() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 0 mnt 32,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dentry unit_jiffy
LOCK2 global &mount_lock.lock
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem

fs/dcache.c __path_is_mountpoint() -> __lookup_mnt()

Type Parameter Key Value
PARAM_VALUE 1 dentry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_lockref.lock
HALF_LOCKED2 global &mount_lock.lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct lockref)->lock