函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\namei.c Create Date:2022-07-29 10:34:49
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:path_put - put a reference to a path*@path: path to put the reference to* Given a path decrement the reference count to the dentry and the vfsmount.

函数原型:void path_put(const struct path *path)

返回类型:void

参数:

类型参数名称
const struct path *path
482  dput(dentry)
483  mntput(mnt)
调用者
名称描述
audit_add_watchFind a matching watch entry, or add this one.* Caller must hold audit_filter_mutex.
audit_alloc_mark
audit_trim_trees
audit_add_tree_rulealled with audit_filter_mutex
audit_tag_tree
free_trace_uprobe
trace_uprobe_create
bpf_obj_do_get
bpf_prog_get_type_path
bpf_prog_offload_info_fill
bpf_map_offload_info_fill
perf_fill_ns_link_info
free_filters_list
big_key_destroydispose of the data dangling from the corpse of a big_key key
tomoyo_policy_loader_existsmoyo_policy_loader_exists - Check whether /sbin/tomoyo-init exists.* Returns true if /sbin/tomoyo-init exists, false otherwise.
tomoyo_mount_aclmoyo_mount_acl - Check permission for mount() operation.*@r: Pointer to "struct tomoyo_request_info".*@dev_name: Name of device file. Maybe NULL.*@dir: Pointer to "struct path".*@type: Name of filesystem type.*@flags: Mount options.
tomoyo_realpath_nofollowmoyo_realpath_nofollow - Get realpath of a pathname.*@pathname: The pathname to solve.* Returns the realpath of @pathname on success, NULL otherwise.
d_namespace_pathd_namespace_path - lookup a name associated with a given path*@path: path to lookup (NOT NULL)*@buf: buffer to store path to (NOT NULL)*@name: Returns - pointer for start of path name with in @buf (NOT NULL)*@flags: flags controlling path
aa_bind_mount
aa_move_mount
aa_new_mount
do_faccessataccess() needs to use the real uid/gid, not the effective uid/gid.* We do this by temporarily clearing all FS-related capabilities and* switching the fsuid/fsgid around to the real ones.
ksys_chdir
ksys_chroot
do_fchmodat
do_fchownat
do_dentry_open
alloc_file_pseudo
vfs_statxvfs_statx - Get basic and extra attributes by filename*@dfd: A file descriptor representing the base dir for a relative filename*@filename: The name of the file of interest*@flags: Flags to control the query*@stat: The result structure to fill in
do_readlinkat
terminate_walk
nd_jump_root
nd_jump_linkHelper to directly jump to a known parsed path from ->get_link,* caller must have taken a reference to path beforehand.
put_link
follow_automountPerform an automount* - return -EISDIR to tell follow_managed() to stop and return the path we* were called with.
pick_link
kern_path_lockeddoes lookup, returns the object with parent locked
do_tmpfile
do_o_path
filename_create
done_path_create
do_rmdir
do_unlinkatMake sure that the actual truncation of the file will occur outside its* directory's i_mutex. Truncate can take a long time if there is a lot of* writeout happening, and we don't want to prevent access to the directory* while waiting on the I/O.
do_linkatHardlinks are often used in delicate situations. We avoid* security-related surprises by not following symlinks on the* newname. --KAB* We don't follow them on the oldname either to be compatible* with linux 2.0, and to avoid hard-linking to directories
do_renameat2
lock_mount
do_loopbackdo loopback mount.
SYSCALL_DEFINE3
do_move_mount_old
do_mountFlags is a 32-bit value that allows up to 31 non-fs dependent flags to* be given to the mount() call (ie: read-only, no-dev, no-suid etc)
SYSCALL_DEFINE3Create a kernel mount representation for a new, prepared superblock* (specified by fs_fd) and attach to an open_tree-like file descriptor.
SYSCALL_DEFINE5Move a mount from one place to another. In combination with* fsopen()/fsmount() this is used to install a new mount and in combination* with open_tree(OPEN_TREE_CLONE [| AT_RECURSIVE]) it can be used to copy* a mount subtree.
SYSCALL_DEFINE2pivot_root Semantics:* Moves the root file system of the current process to the directory put_old,* makes new_root as the new root file system of the current process, and sets* root/cwd of all processes which had them on the current root to new_root
current_chrooted
mntns_install
path_setxattr
path_getxattr
path_listxattr
path_removexattr
do_utimesdo_utimes - change times on filename or file descriptor*@dfd: open file descriptor, -1 or AT_FDCWD*@filename: path name or NULL*@times: new times or NULL*@flags: zero or more flags (only AT_SYMLINK_NOFOLLOW for the moment)* If filename is NULL and dfd
set_fs_rootReplace the fs->{rootmnt,root} with {mnt,dentry}. Put the old values.* It can block.
set_fs_pwdReplace the fs->{pwdmnt,pwd} with {mnt,dentry}. Put the old values.* It can block.
chroot_fs_refs
free_fs_struct
user_statfs
open_related_ns
fs_lookup_params_lookup_param - Look up a path referred to by a parameter*@fc: The filesystem context to log errors through.*@param: The parameter.*@want_bdev: T if want a blockdev*@_path: The result of the lookup
SYSCALL_DEFINE3Pick a superblock into a context for reconfiguration.
lookup_bdevlookup_bdev - lookup a struct block_device by name*@pathname: special file representing the block device* Get a reference to the blockdevice at @pathname in the current* namespace if possible and return it. Return ERR_PTR(error)* otherwise.
mounts_open_common
mounts_release
inotify_find_inoded_inode - resolve a user-given path to a specific inode
SYSCALL_DEFINE3
fanotify_free_event
fanotify_find_path
do_fanotify_mark
do_coredump
SYSCALL_DEFINE5sys_name_to_handle_at: convert name to handle*@dfd: directory relative to which name is interpreted if not absolute*@name: name that should be converted to handle
do_handle_open
kernel_quotactlThis is the system call interface. This communicates with* the user-level programs. Currently this only supports diskquota* calls. Maybe we need to add the process quotas etc. in the future,* but we probably should use rlimits for that.
devpts_acquire
free_dcookie
audit_free_names