Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 m 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next->prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_hash->next->pprev 1-u64max
PARAM_VALUE 0 m->mnt_hash.pprev 0
PARAM_VALUE 0 m->mnt_mp 0
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_hash->next->pprev 1-u64max
PARAM_VALUE 0 m->mnt_mp_list->next->pprev 1-u64max
PARAM_VALUE 0 m->mnt_mp_list.next 0
PARAM_VALUE 0 m->mnt_mp_list.pprev 0
PARAM_VALUE 0 m->mnt_parent 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_parent 4096-ptr_max
CAPPED_DATA 0 m 1
DATA_SOURCE 0 m $0
RX_PATH
NOCHECK_CALL
LOCK2 global &mount_lock.lock

fs/namespace.c mnt_add_to_ns() -> mnt_notify_add()

Type Parameter Key Value
PARAM_VALUE 0 m 4096-ptr_max
PARAM_VALUE 0 m->mnt.mnt_sb 4096-ptr_max
PARAM_VALUE 0 m->mnt.mnt_sb->s_type 4096-ptr_max
PARAM_VALUE 0 m->mnt.mnt_sb->s_type->fs_flags s32min-(-1),512-s32max
PARAM_VALUE 0 m->mnt_node.__rb_parent_color 1
PARAM_VALUE 0 m->mnt_node.rb_left 4096-ptr_max
PARAM_VALUE 0 m->mnt_node.rb_right 4096-ptr_max
PARAM_VALUE 0 m->mnt_ns 4096-ptr_max
BUF_SIZE 0 m->mnt_ns (-1),448
CAPPED_DATA 0 m 1
CAPPED_DATA 0 &m->mnt_node 1
DATA_SOURCE 0 m $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &root.dentry->d_inode->i_rwsem
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &mount_lock.lock
HALF_LOCKED2 global &namespace_sem

fs/namespace.c path_pivot_root() -> mnt_notify_add()

Type Parameter Key Value
PARAM_VALUE 0 m 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next->prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_hash.pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mountpoint 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_hash->next->pprev 1-u64max
PARAM_VALUE 0 m->mnt_mp_list->pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp_list.pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev->next->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_parent 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->overmount 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->overmount->mnt_parent 4096-ptr_max
CAPPED_DATA 0 m 1
CAPPED_DATA 0 m->mnt_ns 1
DATA_SOURCE 0 m r real_mount
BIT_INFO 0 m->mnt.mnt_flags 0x0,0xff7fffff
NOCHECK_CALL

fs/namespace.c path_pivot_root() -> mnt_notify_add()

Type Parameter Key Value
PARAM_VALUE 0 m 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next->prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_expire.next->prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_expire.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_hash.pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_hash->next->pprev 1-u64max
PARAM_VALUE 0 m->mnt_mp_list->pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp_list.pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev->next->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_parent 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->overmount 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->overmount->mnt_parent 4096-ptr_max
CAPPED_DATA 0 m 1
CAPPED_DATA 0 m->mnt_ns 1
DATA_SOURCE 0 m r real_mount
NOCHECK_CALL

fs/namespace.c umount_tree() -> mnt_notify_add()

Type Parameter Key Value
PARAM_VALUE 0 m 4096-ptr_max
PARAM_VALUE 0 m->mnt_ns 0
PARAM_VALUE 0 m->mnt_parent 4096-ptr_max
CAPPED_DATA 0 m 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &mount_lock.lock
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem

fs/pnode.c reparent() -> mnt_notify_add()

Type Parameter Key Value
PARAM_VALUE 0 m 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.next->prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_child.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_hash.pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.next 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_dentry->d_lru.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp->m_hash->next->pprev 1-u64max
PARAM_VALUE 0 m->mnt_mp_list->pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_mp_list.pprev 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->mnt_mounts.prev->next->next 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->overmount 4096-ptr_max
PARAM_VALUE 0 m->mnt_parent->overmount->mnt_parent 4096-ptr_max
DATA_SOURCE 0 m $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &mount_lock.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &to_path.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem