Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 10 files:
- fs/kernfs/dir.c
- fs/kernfs/file.c, line 999
- fs/kernfs/inode.c, line 202
- fs/kernfs/symlink.c, line 46
- fs/resctrl/rdtgroup.c
- fs/sysfs/file.c
- fs/sysfs/group.c
- fs/sysfs/symlink.c, line 37
- include/linux/sysfs.h, line 802
- kernel/cgroup/cgroup.c
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 |