Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 10 files:

Smatch caller information:

fs/kernfs/file.c kernfs_notify() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
DATA_SOURCE 0 kn $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 kn unit_array_size
LOCK2 flags
LOCK2 global &kernfs_notify_lock
HALF_LOCKED2 &conf->device_lock
HALF_LOCKED2 &cxl_mbox->mbox_mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &smaster->lock
HALF_LOCKED2 flags

fs/kernfs/dir.c __kernfs_new_node() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
BUF_SIZE 0 kn s32min-(-1),1-s32max
BUF_SIZE 0 kn s32min-(-1),1-s32max
DATA_SOURCE 0 kn $1
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
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
BUF_SIZE 0 kn (-1)-s32max
BUF_SIZE 0 kn (-1)-s32max
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_destroy_root() -> kernfs_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rdtgroup_mutex

fs/kernfs/dir.c kernfs_find_and_get_ns() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 0,4096-ptr_max
DATA_SOURCE 0 kn r kernfs_find_ns
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &root->kernfs_rwsem
HALF_LOCKED2 &led_cdev->led_access
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &smaster->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &rdtgroup_mutex
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

fs/kernfs/dir.c kernfs_fop_readdir() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
BUF_SIZE 0 kn s32min-(-1),1-s32max
BUF_SIZE 0 kn s32min-(-1),1-s32max
CAPPED_DATA 0 kn->name 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &root->kernfs_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 kn 0
BUF_SIZE 0 kn 0
DATA_SOURCE 0 kn r kernfs_parent
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_remove_by_name_ns() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
CAPPED_DATA 0 kn->hash 1
DATA_SOURCE 0 kn r kernfs_find_ns
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &root->kernfs_rwsem
LOCK2 &root->kernfs_supers_rwsem
HALF_LOCKED2 global &rdtgroup_mutex
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_supers_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
DATA_SOURCE 0 kn $1
BIT_INFO 0 kn->flags 0x0,0xefff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_walk_and_get_ns() -> kernfs_get()

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

fs/resctrl/rdtgroup.c mkdir_rdt_prepare() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
CAPPED_DATA 0 kn 1
DATA_SOURCE 0 kn r kernfs_create_dir
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &dentry->d_lockref.lock

fs/resctrl/rdtgroup.c rdt_get_tree() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 kn unit_array_size
LOCK2 global &rdtgroup_mutex
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 global &once_mutex

fs/kernfs/inode.c kernfs_init_inode() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
DATA_SOURCE 0 kn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &kf_root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &cgroup_mutex

fs/sysfs/file.c sysfs_add_file_to_group() -> kernfs_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_T->lock->msi.data->mutex

fs/sysfs/file.c sysfs_notify() -> kernfs_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &chip->mutex
HALF_LOCKED2 &client->dev.driver_data->update_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &dp->lock
HALF_LOCKED2 &gb->mutex
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &intf->dev.parent->mutex
HALF_LOCKED2 &occ->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 &priv->access_lock
HALF_LOCKED2 &sbefifo->lock
HALF_LOCKED2 &sbi->s_error_notify_mutex
HALF_LOCKED2 &tu->serialize
HALF_LOCKED2 &wblock->notify_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &console_sem

fs/sysfs/file.c sysfs_remove_file_from_group() -> kernfs_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_T->lock->msi.data->mutex

kernel/cgroup/cgroup.c cgroup_file_notify() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cfile->lock
LOCK2 flags
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 global &css_set_lock
HALF_LOCKED2 global &rdmacg_mutex
TYPE_LOCK (struct cgroup_file)->lock

kernel/cgroup/cgroup.c cgroup_file_show() -> kernfs_get()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cfile->lock
LOCK2 &of->mutex
LOCK2 global &cgroup_mutex
LOCK2 irq
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct cgroup_file)->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/cgroup/cgroup.c cgroup_mkdir() -> kernfs_get()

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

fs/sysfs/symlink.c sysfs_do_create_link_sd() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &sysfs_symlink_target_lock

lib/kobject.c sysfs_get() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
DATA_SOURCE 0 kn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/sysfs/group.c compat_only_sysfs_link_entry_to_kobj() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &sysfs_symlink_target_lock

fs/sysfs/group.c internal_create_group() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 1-u64max
CAPPED_DATA 0 kn 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/sysfs/group.c sysfs_group_change_owner() -> kernfs_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/sysfs/group.c sysfs_remove_group() -> kernfs_get()

Type Parameter Key Value
NOCHECK_CALL

fs/kernfs/symlink.c kernfs_create_link() -> kernfs_get()

Type Parameter Key Value
PARAM_VALUE 0 kn 4096-ptr_max
DATA_SOURCE 0 kn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL