Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/kernfs/mount.c find_next_ancestor() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 1-u64max
DATA_SOURCE 0 kn $0 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 rcu_read

fs/kernfs/mount.c find_next_ancestor() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
DATA_SOURCE 0 kn $0 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 rcu_read

fs/kernfs/mount.c find_next_ancestor() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 1-u64max
DATA_SOURCE 0 kn r kernfs_parent
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 rcu_read

fs/kernfs/mount.c kernfs_get_parent_dentry() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
BUF_SIZE 0 kn s32min-(-1),1-s32max
BUF_SIZE 0 kn s32min-(-1),1-s32max
DATA_SOURCE 0 kn r kernfs_dentry_node
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock
HALF_LOCKED2 &child->d_lockref.lock

fs/kernfs/dir.c __kernfs_remove() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
BUF_SIZE 0 kn (-1)-s32max
BUF_SIZE 0 kn (-1)-s32max
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 kn->attr.size
UNITS 0 kn unit_array_size
LOCK2 &root->kernfs_rwsem
LOCK2 &root->kernfs_supers_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_supers_rwsem

fs/kernfs/dir.c __kernfs_remove() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
PARAM_VALUE 0 kn->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 kn->attr.open->nr_to_release 0
PARAM_VALUE 0 kn->dir.children.rb_node 0
BUF_SIZE 0 kn (-1)-s32max
BUF_SIZE 0 kn (-1)-s32max
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 kn->attr.size
UNITS 0 kn unit_array_size
LOCK2 &root->kernfs_rwsem
LOCK2 &root->kernfs_supers_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_supers_rwsem

fs/kernfs/dir.c kernfs_add_one() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
PARAM_VALUE 0 kn->active.counter (-2147483647)
PARAM_VALUE 0 kn->count.counter 1
PARAM_VALUE 0 kn->flags 1-2,4,66,130,194,258,322,386,450,4097,8194,8258,8322,8386,8450,8514,8578,8642
PARAM_VALUE 0 kn->name 4096-ptr_max
BUF_SIZE 0 kn->attr.ops (-1),104
BUF_SIZE 0 kn->ns (-1),256
BUF_SIZE 0 kn->priv (-1),40,136,480,696,928,1128,1160,1392,1624,1848
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 kn->attr.size s32min-(-1),1-4294967295
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/dir.c kernfs_dop_revalidate() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
PARAM_VALUE 0 kn->active.counter 0-s32max
BUF_SIZE 0 kn s32min-(-2),1-s32max
BUF_SIZE 0 kn s32min-(-2),1-s32max
DATA_SOURCE 0 kn r kernfs_dentry_node
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/dir.c kernfs_get_parent() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rename_lock
LOCK2 flags
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem
HALF_LOCKED2 global &rdtgroup_mutex
TYPE_LOCK (struct kernfs_root)->kernfs_rename_lock

fs/kernfs/dir.c kernfs_link_sibling() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0,4096-ptr_max
PARAM_VALUE 0 kn->active.counter (-2147483647),0-s32max
PARAM_VALUE 0 kn->hash 2-2147483646
PARAM_VALUE 0 kn->ns 0,4096-ptr_max
BUF_SIZE 0 kn->ns (-1),256
BUF_SIZE 0 kn->priv (-1),40,136,480,696,928,1128,1160,1392,1624,1848
CAPPED_DATA 0 kn->hash 1
CAPPED_DATA 0 kn->ns 1
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 kn->attr.size s32min-4294967295
NO_OVERFLOW_SIMPLE 0 kn->attr.size
LOCK2 &root->kernfs_rwsem
HALF_LOCKED2 global &dpm_list_mtx
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/dir.c kernfs_next_descendant_post() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
BUF_SIZE 0 kn (-1)-s32max
BUF_SIZE 0 kn (-1)-s32max
CAPPED_DATA 0 kn 1
CAPPED_DATA 0 &kn->rb 1
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 kn->attr.size s32min-s32max
UNITS 0 kn unit_array_size
LOCK2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/dir.c kernfs_put() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
PARAM_VALUE 0 kn->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 kn->attr.open->nr_to_release 0-4294967295
BUF_SIZE 0 kn s32min-s32max
BUF_SIZE 0 kn->attr.ops (-1),104
BUF_SIZE 0 kn->ns (-1),256
BUF_SIZE 0 kn->priv (-1),40,136,480,696,928,1128,1160,1392,1624,1848
DATA_SOURCE 0 kn $0 [m]
STR_LEN 0 kn (-1),3-6,10-13,16-19
STR_LEN 0 kn (-1),3-6,10-13,16-19
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 kn->attr.size s32min-(-1),1-4294967295
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &domain_list_lock
HALF_LOCKED2 global &dpm_list_mtx
HALF_LOCKED2 global &rdtgroup_mutex
HALF_LOCKED2 global &usb_port_peer_mutex

fs/kernfs/dir.c kernfs_rename_ns() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 1-u64max
PARAM_VALUE 0 kn->active.counter 0-s32max
DATA_SOURCE 0 kn $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
LOCK2 global &dpm_list_mtx
HALF_LOCKED2 &hdev->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/dir.c kernfs_unlink_sibling() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
PARAM_VALUE 0 kn->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 kn->attr.open->nr_to_release 0-4294967295
BUF_SIZE 0 kn (-1),1-s32max
BUF_SIZE 0 kn (-1),1-s32max
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 kn unit_array_size
LOCK2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem
HALF_LOCKED2 global &dpm_list_mtx
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 0
BUF_SIZE 0 kn 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
DATA_SOURCE 0 kn $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
DATA_SOURCE 0 kn r kernfs_parent
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn->__parent 0
BUF_SIZE 0 kn 0
BIT_INFO 0 kn 0x0,0x0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 0
BUF_SIZE 0 kn 0
DATA_SOURCE 0 kn r kernfs_parent
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
CAPPED_DATA 0 kn->name 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 0
BUF_SIZE 0 kn 0
DATA_SOURCE 0 kn r kernfs_parent
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
CAPPED_DATA 0 kn->name 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_get_target_path() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 0
BUF_SIZE 0 kn 0
DATA_SOURCE 0 kn r kernfs_parent
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/symlink.c kernfs_getlink() -> kernfs_parent()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
PARAM_VALUE 0 kn->__parent 0
BUF_SIZE 0 kn s32min-(-2),1-s32max
BUF_SIZE 0 kn s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 kn unit_array_size
LOCK2 &root->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem