Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 32 files:

Smatch caller information:

fs/failfs.c failfs_get_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 1200690417135587328,2035014511176417280
DATA_SOURCE 0 path $0
NOCHECK_CALL

fs/pidfs.c pidfs_get_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 8428198936525148160
PARAM_VALUE 0 path->mnt 0,4096-ptr_max
DATA_SOURCE 0 path $0
NOCHECK_CALL

fs/overlayfs/params.c ovl_parse_layer() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 5487562561644511232
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex

security/landlock/fs.c is_access_to_paths_allowed() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 2010387013703094272
PARAM_VALUE 0 path->dentry 4096-ptr_max
NOCHECK_CALL

security/apparmor/task.c get_current_exe_path() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 2989835958158786560
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

security/apparmor/path.c get_fs_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 2368637166386339840
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &fs->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/file_attr.c __do_sys_file_getattr() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 7378189984749563904
NOCHECK_CALL

fs/file_attr.c __do_sys_file_getattr() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 7378189984749563904
NOCHECK_CALL

fs/file_attr.c __do_sys_file_setattr() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 6845982673193951232
NOCHECK_CALL

fs/file_attr.c __do_sys_file_setattr() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 6845982673193951232
NOCHECK_CALL

fs/proc/base.c get_fs_pwd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4476707435091537920,4935506243646550016
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
LOCK2 &task->alloc_lock
LOCK2 &task->signal->exec_update_lock
TYPE_LOCK (struct seqlock)->lock
TYPE_LOCK (struct signal_struct)->exec_update_lock
TYPE_LOCK (struct task_struct)->alloc_lock

fs/proc/base.c get_fs_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4476707435091537920,4935506243646550016
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
LOCK2 &task->alloc_lock
LOCK2 &task->signal->exec_update_lock
TYPE_LOCK (struct seqlock)->lock
TYPE_LOCK (struct signal_struct)->exec_update_lock
TYPE_LOCK (struct task_struct)->alloc_lock

fs/proc/base.c map_files_get_link() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4476707435091537920,4935506243646550016
DATA_SOURCE 0 path $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &task->signal->exec_update_lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct signal_struct)->exec_update_lock

fs/proc/base.c proc_exe_link() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &task->signal->exec_update_lock
TYPE_LOCK (struct signal_struct)->exec_update_lock

fs/cachefiles/daemon.c get_fs_pwd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 2123711579696861184,6148399030740570112
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &cache->daemon_mutex
LOCK2 &fs->seq.lock
TYPE_LOCK (struct cachefiles_cache)->daemon_mutex
TYPE_LOCK (struct seqlock)->lock

fs/autofs/expire.c autofs_mount_busy() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 3459670329479008256
PARAM_VALUE 0 path->dentry 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &found->d_lockref.lock

fs/namei.c get_fs_pwd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/namei.c get_fs_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 522358671205986336,2024205125206544416,4342420360533635104,6489631671941296160
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/namei.c nd_jump_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c path_init() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
PARAM_VALUE 0 path->dentry 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c path_init() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 522358671205986304,2024205125206544384,4342420360533635072,6489631671941296128
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namei.c path_init() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 522358671205986336,2024205125206544416,4342420360533635104,6489631671941296160
PARAM_VALUE 0 path->dentry 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/proc/fd.c proc_fd_link() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &task->signal->exec_update_lock
TYPE_LOCK (struct signal_struct)->exec_update_lock

kernel/auditsc.c get_fs_pwd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/autofs/dev-ioctl.c find_autofs_mount() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 5808844304875499520
PARAM_VALUE 0 path->dentry 4096-ptr_max
PARAM_VALUE 0 path->mnt 4096-ptr_max
NOCHECK_CALL

fs/file_table.c alloc_file_clone() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

security/landlock/syscalls.c get_path_from_fd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 7887168756891484160
DATA_SOURCE 0 path $1
NOCHECK_CALL

drivers/block/loop.c loop_get_status() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 8737129135126704128
NOCHECK_CALL
LOCK2 &lo->lo_mutex
TYPE_LOCK (struct loop_device)->lo_mutex

net/unix/af_unix.c unix_stream_connect() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
PARAM_VALUE 0 path->dentry 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/namespace.c __do_sys_move_mount() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 1049264793226395648
NOCHECK_CALL

fs/namespace.c __do_sys_move_mount() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 1049264793226395648
NOCHECK_CALL

fs/namespace.c collect_paths() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
PARAM_VALUE 0 path->mnt 1-u64max
BUF_SIZE 0 path (-1),256
BUF_SIZE 0 path (-1),256
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
LOCK2 global &namespace_sem
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

fs/namespace.c get_fs_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
HALF_LOCKED2 global &namespace_sem
TYPE_LOCK (struct seqlock)->lock

fs/nfsd/export.c expkey_update() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &detail->hash_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct cache_detail)->hash_lock

fs/nfsd/export.c svc_export_init() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem

fs/nsfs.c nsfs_get_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 8428198936525148160
PARAM_VALUE 0 path->mnt 0,4096-ptr_max
DATA_SOURCE 0 path $0
NOCHECK_CALL

fs/notify/fanotify/fanotify.c fanotify_alloc_path_event() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
DATA_SOURCE 0 path $0
NOCHECK_CALL

fs/notify/fanotify/fanotify.c fanotify_alloc_perm_event() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
NOCHECK_CALL

fs/proc_namespace.c get_fs_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4829161773307678720
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs->seq.lock
LOCK2 &task->alloc_lock
TYPE_LOCK (struct seqlock)->lock
TYPE_LOCK (struct task_struct)->alloc_lock

fs/fhandle.c get_fs_pwd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 8428198936525148160
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &fs->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/fhandle.c get_path_anchor() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 8428198936525148160
DATA_SOURCE 0 path $1
NOCHECK_CALL

fs/devpts/inode.c devpts_acquire() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 1710215591764013056
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/devpts/inode.c devpts_mntget() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 864483254935003136
NOCHECK_CALL

fs/smb/server/vfs.c __ksmbd_vfs_kern_path() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4183692766515249152
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

security/keys/big_key.c big_key_preparse() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &key_types_sem

fs/nfsd/nfs4xdr.c nfsd4_encode_pathname4() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 872184156920487936
NOCHECK_CALL

fs/nfsd/nfs4xdr.c nfsd4_get_mounted_on_ino() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 3750585293691084800
PARAM_VALUE 0 path->mnt 4096-ptr_max
NOCHECK_CALL

fs/fs_struct.c chroot_fs_refs() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 974911601717030912,1195093872740364288
PARAM_VALUE 0 path->dentry 4096-ptr_max
PARAM_VALUE 0 path->mnt 4096-ptr_max
PARAM_VALUE 0 path->mnt->mnt_root 4096-ptr_max
CAPPED_DATA 0 path->dentry 1
CAPPED_DATA 0 path->mnt 1
CAPPED_DATA 0 path->mnt->mnt_root 1
DATA_SOURCE 0 path $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &fs->seq.lock
LOCK2 &p->alloc_lock
LOCK2 global &tasklist_lock
TYPE_LOCK (struct seqlock)->lock
TYPE_LOCK (struct task_struct)->alloc_lock

fs/fs_struct.c copy_fs_struct() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &old->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/fs_struct.c copy_fs_struct() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &old->seq.lock
TYPE_LOCK (struct seqlock)->lock

fs/fs_struct.c set_fs_pwd() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 136,4096-ptr_max
DATA_SOURCE 0 path $1
NOCHECK_CALL
HALF_LOCKED2 &_T->lock->alloc_lock
HALF_LOCKED2 &root.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem

fs/fs_struct.c set_fs_root() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
DATA_SOURCE 0 path $1
NOCHECK_CALL
HALF_LOCKED2 &_T->lock->alloc_lock
HALF_LOCKED2 &root.dentry->d_inode->i_rwsem
HALF_LOCKED2 global &namespace_sem

kernel/trace/bpf_trace.c bpf_uprobe_multi_get_path() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 6127119335167062016
DATA_SOURCE 0 path $1
NOCHECK_CALL

fs/notify/fanotify/fanotify_user.c fanotify_find_path() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 8404068417170477056
DATA_SOURCE 0 path $2
NOCHECK_CALL

fs/open.c __do_sys_fchroot() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 2035014511176417280
NS_CAPABLE 0 18
NOCHECK_CALL

fs/open.c __do_sys_fchroot() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 2035014511176417280
NS_CAPABLE 0 18
NOCHECK_CALL

fs/open.c do_dentry_open() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
PARAM_VALUE 0 path->dentry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

security/apparmor/af_unix.c aa_unix_file_perm() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4993019590976180224
PARAM_VALUE 0 path->dentry 1-u64max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

fs/backing-file.c backing_file_open() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
BUF_SIZE 0 path 16
DATA_SOURCE 0 path r file_user_path
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/backing-file.c backing_tmpfile_open() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4096-ptr_max
PARAM_VALUE 0 path->dentry 4096-ptr_max
BUF_SIZE 0 path 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/xfs/xfs_handle.c xfs_find_handle() -> path_get()

Type Parameter Key Value
PARAM_VALUE 0 path 4590628100968099840
NOCHECK_CALL