函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\err.h Create Date:2022-07-27 06:39:05
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:错误号

函数原型:static inline void *__must_check ERR_PTR(long error)

返回类型:void

参数:

类型参数名称
longerror
26  返回:error
调用者
名称描述
idr_get_free
idr_replacedr_replace() - replace pointer for given ID
bitmap_getnum
bitmap_parse_region
rhashtable_lookup_one
rhashtable_insert_one
rhashtable_try_insert
__rhashtable_walk_find_next__rhashtable_walk_find_next - Find the next element in a table (or the first* one in case of a new walk).*@iter: Hash table iterator* Returns the found object or NULL when the end of the table is reached.* Returns -EAGAIN if resize event occurred.
errptr
test_parman_create
world_obj_get
delta_create
root_create
delta_create_dummy
assoc_array_insertassoc_array_insert - Script insertion of an object into an associative array*@array: The array to insert into
assoc_array_deleteassoc_array_delete - Script deletion of an object from an associative array*@array: The array to search.*@ops: The operations to use.*@index_key: The key to the object.* Precalculate and preallocate a script for the deletion of an object from an
assoc_array_clearassoc_array_clear - Script deletion of all objects from an associative array*@array: The array to clear.*@ops: The operations to use.* Precalculate and preallocate a script for the deletion of all the objects* from an associative array
devm_gen_pool_createdevm_gen_pool_create - managed gen_pool_create*@dev: device that provides the gen_pool*@min_alloc_order: log base 2 of number of bytes each bitmap bit represents*@nid: node selector for allocated gen_pool, %NUMA_NO_NODE for all nodes*@name: name of a
textsearch_preparextsearch_prepare - Prepare a search*@algo: name of search algorithm*@pattern: pattern data*@len: length of pattern*@gfp_mask: allocation mask*@flags: search flags* Looks up the search algorithm module and creates a new textsearch
fsm_init
mpi_read_from_buffer
objagg_obj_create
objagg_createbjagg_create - creates a new objagg instance*@ops: user-specific callbacks*@objagg_hints: hints, can be NULL*@priv: pointer to a private data passed to the ops* Note: all locking must be provided by the caller
objagg_stats_getbjagg_stats_get - obtains stats of the objagg instance*@objagg: objagg instance* Note: all locking must be provided by the caller.* The returned structure contains statistics of all object* currently in use, ordered by following rules:
objagg_hints_node_create
objagg_hints_getbjagg_hints_get - obtains hints instance*@objagg: objagg instance*@opt_algo_type: type of hints finding algorithm* Note: all locking must be provided by the caller.* According to the algo type, the existing objects of objagg instance
objagg_hints_stats_getbjagg_hints_stats_get - obtains stats of the hints instance*@objagg_hints: hints instance* Note: all locking must be provided by the caller.* The returned structure contains statistics of all objects* currently in use, ordered by following rules:
hw_breakpoint_handlerHandle debug exception notifications.* Return value is either NOTIFY_STOP or NOTIFY_DONE as explained below.* NOTIFY_DONE returned if one of the following conditions is true.* i) When the causative address is from user-space and the exception
ptrace_register_breakpoint
rdt_find_domaindt_find_domain - Find a domain in a resource that matches input resource id* Search resource r's domain list to find the resource id. If the resource* id is found in a domain, return the domain. Otherwise, if requested by
bzImage64_load
single_step_cont
mm_access
pidfd_pid
copy_process创建进程
pidfd_get_pid
alloc_pid分配进程句柄
parse_args解析参数
kthread
create_kthread
__kthread_create_on_node
__kthread_create_worker
create_new_namespacesCreate new nsproxy and all of its the associated namespaces.* Return the newly created nsproxy. Do not attach this to the task,* leave it to the caller to do proper locking and attach it to task.
cpuacct_css_allocCreate a new CPU accounting group
psi_trigger_create
rwsem_down_read_slowpathWait for the read lock to be granted
rwsem_down_write_slowpathWait until we successfully acquire the write lock
get_highmem_page_buffer
get_bufferget_buffer - Get the address to store the next image data page.* Get the address that snapshot_write_next() should return to its caller to* write to.
wakelock_lookup_add
__irq_get_domain_generic_chip
kcmp_epoll_target
resolve_symbolResolve a symbol for this module. I.e. if we find one, record usage.
layout_and_allocate
kexec_image_load_default
cgroup_procs_write_start
__cgroup_procs_start
cgroup_procs_start
css_create
cgroup_createThe returned cgroup is fully initialized including its control mask, but* it isn't associated with its kernfs_node and doesn't have the control* mask applied.
css_tryget_online_from_dirss_tryget_online_from_dir - get corresponding css from a cgroup dentry*@dentry: directory dentry of interest*@ss: subsystem of interest* If @dentry is a directory for a cgroup which has @ss enabled on it, try* to get the corresponding css and return it
cgroup_get_from_pathgroup_get_from_path - lookup and get a cgroup from its default hierarchy path*@path: path on the default hierarchy* Find the cgroup at @path on the default hierarchy, increment its* reference count and return it
cgroup_get_from_fdgroup_get_from_fd - get a cgroup pointer from a fd*@fd: fd obtained by open(cgroup2_dir)* Find the cgroup from a fd which should be obtained* by opening a cgroup directory. Returns a pointer to the* cgroup on success. ERR_PTR is returned if the cgroup
alloc_cgroup_ns
copy_cgroup_ns
cgroup_pidlist_startseq_file methods for the tasks/procs files. The seq_file position is the* next pid to display; the seq_file iterator is a pointer to the pid* in the cgroup->l->list array.
freezer_css_alloc
pids_css_alloc
get_cg_rpool_locked
rdmacg_css_alloc
cpuset_css_allocpuset_css_alloc - allocate a cpuset css* cgrp: control group that the new cpuset will be part of
debug_css_alloc
clone_uts_nsClone a new ns copying an original utsname, setting refcount to 1*@old_ns: namespace to clone* Return ERR_PTR(-ENOMEM) on error (failure to allocate), new ns otherwise
ns_get_owner
create_pid_namespace
copy_pid_ns
pidns_get_parent
audit_unpack_stringUnpack a filter field's string representation from user-space* buffer.
audit_to_entry_commonCommon user-space to kernel rule translation.
audit_data_to_entryTranslate struct audit_rule_data to kernel's rule representation.
audit_dupe_ruleDuplicate an audit rule. This will be a deep copy with the exception* of the watch - that pointer is carried over. The LSM specific fields* will be updated in the copy. The point is to be able to replace the old
audit_init_parentInitialize a parent watch entry.
audit_init_watchInitialize a watch entry.
audit_dupe_watchDuplicate the given audit watch. The new watch's rules list is initialized* to an empty list and wlist is undefined.
audit_alloc_mark
kcov_remote_add
_kprobe_addrIf we have a symbol_name argument, look it up and add the offset field* to it. This way, we can specify a relative address to a symbol.* This returns encoded errors if it fails to look up symbol or invalid* combination of parameters.
__disable_kprobeDisable one kprobe: Make sure called under kprobe_mutex is locked
func_add
func_remove
rb_move_tailThis is the slow path, force gcc not to inline it.
ring_buffer_alloc_read_pageg_buffer_alloc_read_page - allocate a page to read from buffer*@buffer: the buffer to allocate for
__tracing_open
get_tracing_log_err
tracing_get_dentry
trace_array_create
tracing_init_dentryracing_init_dentry - initialize top level trace array* This is called when creating files or directories in the tracing* directory. It is called via fs_initcall() by any of the boot up code
lookup_format
tracing_map_elt_alloc
tracing_map_createracing_map_create - Create a lock-free map and element pool*@map_bits: The size of the map (2 ** map_bits)*@key_size: The size of the key for the map in bytes*@ops: Optional client-defined tracing_map_ops instance*@private_data: Client data associated
f_start
predicate_parseWithout going into a formal proof, this explains the method that is used in* parsing the logical expressions
trigger_start
track_data_alloc
parse_synth_field
alloc_synth_tracepoint
alloc_synth_event
find_match_var
parse_hist_trigger_attrs
parse_field
parse_atom
parse_unary
parse_expr
event_file
find_synthetic_field_var
create_field_var_histreate_field_var_hist - Automatically create a histogram and var for a field*@target_hist_data: The target hist trigger*@subsys_name: Optional subsystem name*@event_name: Optional event name*@field_name: The name of the field (and the resulting variable)*
create_var
create_field_var
track_data_parse
onmatch_parse
create_hist_data
get_bpf_raw_tp_regs
alloc_trace_kprobeAllocate new trace_probe and initialize it (including kprobes).
alloc_trace_uprobeAllocate new trace_uprobe and initialize it (including uprobes).
bpf_patch_insn_single
find_and_alloc_map
__bpf_map_get error is returned, fd is released.* On success caller should complete fd access with matching fdput()
__bpf_map_inc_not_zeromap_idr_lock should have been held
__bpf_copy_key
____bpf_prog_get
bpf_prog_inc_not_zeroprog_idr_lock should have been held
__bpf_prog_get
bpf_prog_get_fd_by_id
bpf_map_get_fd_by_id
bpf_get_inode
bpf_lookup
bpf_obj_do_get
__get_prog_inode
bpf_prog_get_type_path
htab_map_alloc
alloc_htab_elem
array_map_alloc
fd_array_map_lookup_elem
prog_fd_array_get_ptr
prog_array_map_alloc
perf_event_fd_array_get_ptr
trie_alloc
bpf_map_meta_alloc
bpf_map_fd_get_ptr
cgroup_storage_map_alloc
bpf_cgroup_storage_alloc
queue_stack_map_alloc
btf_resolve_sizeResolve the size of a passed-in "type"* return type: type "u32[x][y]", i.e. BTF_KIND_ARRAY,* *type_size: (x * y * sizeof(u32)). Hence, *type_size always* corresponds to the return type.* *elem_type: u32* *total_nelems: (x * y)
btf_parse
btf_parse_vmlinux
btf_get_by_fd
btf_get_fd_by_id
dev_map_alloc
__dev_map_alloc_node
cpu_map_alloc
xsk_map_node_alloc
xsk_map_alloc
xsk_map_lookup_elem_sys_only
bpf_map_offload_map_alloc
bpf_offload_dev_create
stack_map_allocCalled from syscall
stack_map_lookup_elemCalled from eBPF program
reuseport_array_alloc
find_lively_task_by_vpid
find_get_contextReturns a matching context with refcount and pincount.
perf_init_event
perf_event_allocAllocate and initialize an event structure
perf_event_create_kernel_counterperf_event_create_kernel_counter*@attr: attributes of the counter to create*@cpu: cpu in which the counter is bound*@task: task to profile (NULL for percpu)
perf_event_get
perf_get_event
perf_event_attrs
inherit_eventInherit an event from parent task to child task.* Returns:* - valid pointer on success* - NULL for orphaned events* - IS_ERR() on error
register_wide_hw_breakpoint a set of per_cpu pointers to perf events
alloc_uprobe
build_map_info
devm_memremap
wait_on_page_read
do_read_cache_page
__shmem_file_setupmmon code
memdup_usermemdup_user - duplicate memory region from user space*@src: source address in user space*@len: number of bytes to copy* Return: an ERR_PTR() on failure. Result is physically* contiguous, to be freed by kfree().
vmemdup_uservmemdup_user - duplicate memory region from user space*@src: source address in user space*@len: number of bytes to copy* Return: an ERR_PTR() on failure. Result may be not* physically contiguous. Use kvfree() to free.
strndup_userstrndup_user - duplicate an existing string from user space*@s: The string to duplicate*@n: Maximum number of bytes to copy, including the trailing NUL.* Return: newly allocated copy of @s or an ERR_PTR() in case of error
memdup_user_nulmemdup_user_nul - duplicate memory region from user space and NUL-terminate*@src: source address in user space*@len: number of bytes to copy* Return: an ERR_PTR() on failure.
vmstat_start
create_cache
no_page_table
follow_page_pte
follow_pmd_mask
__install_special_mapping
vma_to_resize
alloc_vmap_areaAllocate a region of KVA of the specified size and alignment, within the* vstart and vend.
new_vmap_blockw_vmap_block - allocates new vmap_block and occupies 2^order pages in this* block
alloc_swap_info
alloc_huge_page
follow_huge_addrThese functions are overwritable if your architecture needs its own* behavior.
mpol_newThis function just creates a new policy, does some check and simple* initialization. You must invoke mpol_set_nodemask() to set nodes.
__mpol_dupSlow path of a mempolicy duplicate
section_activate
find_get_mmu_notifier
mmu_notifier_get_lockedmmu_notifier_get_locked - Return the single struct mmu_notifier for* the mm & ops*@ops: The operations struct being subscribe with*@mm : The mm to attach notifiers too* This function either allocates a new mmu_notifier via* list
get_ksm_pageget_ksm_page: checks if the page indicated by the stable node* is still its ksm page, despite having held no reference to it.* In which case we can trust the content of the page, and it* returns the gotten page; but if the page has now been zapped,
stable_tree_searchstable_tree_search - search for page inside the stable tree* This function checks if there is a page inside the stable tree* with identical content to the page that we are scanning right now
register_memory_resourceadd this memory to iomem resource
follow_devmap_pmd
follow_trans_huge_pmd
khugepaged_alloc_page
mem_cgroup_css_alloc
hugetlb_cgroup_css_alloc
kmemleak_seq_startIterate over the object_list and return the first valid object at or after* the required position with its use_count incremented. The function triggers* a memory scanning when the pos argument points to the first position.
ipc_obtain_object_idrpc_obtain_object_idr*@ids: ipc identifier set*@id: ipc id to look for* Look for an id in the ipc ids idr and return associated ipc object.* Call inside the RCU critical section.* The ipc object is *not* locked on exit.
ipc_obtain_object_checkpc_obtain_object_check*@ids: ipc identifier set*@id: ipc id to look for* Similar to ipc_obtain_object_idr() but also checks the ipc object* sequence number.* Call inside the RCU critical section.* The ipc object is *not* locked on exit.
ipcctl_obtain_checkpcctl_obtain_check - retrieve an ipc object and check permissions*@ns: ipc namespace*@ids: the table of ids where to look for the ipc*@id: the id of the ipc to retrieve*@cmd: the cmd to check*@perm: the permission to set*@extra_perm: one extra permission
load_msg
copy_msg
expunge_all
pipelined_send
prepare_copy
find_msg
do_msgrcv
find_alloc_undod_alloc_undo - lookup (and if not present create) undo array*@ns: namespace*@semid: semaphore array id* The function looks up (and if not present creates) the undo structure.* The size of the undo structure depends on the size of the semaphore
shm_lockshm_lock_(check_) routines are called in the paths where the rwsem* is not necessarily held.
mqueue_get_inode
create_ipc_ns
bio_copy_user_iov_copy_user_iov - copy user data to bio*@q: destination block queue*@map_data: pointer to the rq_map_data holding pages (if necessary)*@iter: iovec iterator*@gfp_mask: memory allocation flags* Prepares and returns a bio for indirect user io, bouncing data
bio_map_user_iov_map_user_iov - map user iovec into bio*@q: the struct request_queue for the bio*@iter: iovec iterator*@gfp_mask: memory allocation flags* Map the user space address into a bio suitable for io to a block* device. Returns an error pointer in case of error.
bio_map_kern_map_kern - map kernel address into bio*@q: the struct request_queue for the bio*@data: pointer to buffer to map*@len: length in bytes*@gfp_mask: allocation flags for bio allocation* Map the kernel address into a bio suitable for io to a block* device
bio_copy_kern_copy_kern - copy kernel address into bio*@q: the struct request_queue for the bio*@data: pointer to buffer to copy*@len: length in bytes*@gfp_mask: allocation flags for bio and page allocation*@reading: data direction is READ* copy the kernel address
blk_mq_alloc_request
blk_mq_alloc_request_hctx
blk_mq_init_queue
blk_mq_init_sq_queueHelper for setting up a queue with mq ops, given queue depth, and* the passed in mq ops flags.
blk_mq_init_allocated_queue
disk_seqf_startrator
add_partitionMust be called either with bd_mutex held, before a disk can be opened or* after all disk users are gone.
check_partition
bsg_add_device
bsg_get_device
bsg_setup_queuesg_setup_queue - Create and add the bsg hooks so we can receive requests*@dev: device to attach bsg device to*@name: device to give bsg device*@job_fn: bsg job handler*@timeout: timeout handler function pointer*@dd_job_size: size of LLD data needed for
blkg_createIf @new_blkg is %NULL, this function tries to allocate a new one as* necessary using %GFP_NOWAIT. @new_blkg is always consumed on return.
blkg_lookup_checkPerforms queue bypass and policy enabled checks then looks up blkg.
blkcg_conf_get_disklkg_conf_prep - parse and prepare for per-blkg config update*@inputp: input string pointer* Parse the device node prefix part, MAJ:MIN, of per-blkg config update* from @input and get and return the matching gendisk. *@inputp is
blkcg_css_alloc
kyber_queue_data_alloc
bio_integrity_alloc_integrity_alloc - Allocate integrity payload and attach it to bio*@bio: bio to attach integrity metadata to*@gfp_mask: Memory allocation mask*@nr_vecs: Number of integrity metadata scatter-gather elements* Description: This function prepares a bio for
response_get_token
key_allockey_alloc - Allocate a key of the specified type.*@type: The type of key to allocate.*@desc: The key description to allow the key to be searched out.*@uid: The owner of the new key.*@gid: The group ID for the new key's group permissions.
key_lookupFind a key by its serial number.
key_type_lookupFind and lock the specified key type against removal.* We return with the sem read-locked if successful. If the type wasn't* available -ENOKEY is returned instead.
__key_updateAttempt to update an existing key.* The key is given to us with an incremented refcount that we need to discard* if we get an error.
key_create_or_updatekey_create_or_update - Update or create and instantiate a key.*@keyring_ref: A pointer to the destination keyring with possession flag.*@type: The type of key.*@description: The searchable description for the key.
keyring_allocAllocate a keyring and link into the destination keyring.
keyring_search_iteratorIteration function to consider each key found.
search_nested_keyringsSearch a tree of keyrings that point to other keyrings up to the maximum* depth.
keyring_search_rcukeyring_search_rcu - Search a keyring tree for a matching key under RCU*@keyring_ref: A pointer to the keyring with possession indicator
keyring_searchkeyring_search - Search the supplied keyring tree for a matching key*@keyring: The root of the keyring tree to be searched
keyring_restriction_alloc
find_keyring_by_nameFind a keyring with the specified name
keyring_detect_cycle_iterator
look_up_user_keyringsLook up the user and user session keyrings for the current process's UID,* creating them if they don't exist.
search_cred_keyrings_rcuSearch the process keyrings attached to the supplied cred for the first* matching key under RCU conditions (the caller must be holding the RCU read* lock)
search_process_keyrings_rcuSearch the process keyrings attached to the supplied cred for the first* matching key in the manner of search_my_process_keyrings(), but also search* the keys attached to the assumed authorisation key using its credentials if* one is available.
lookup_user_keyLook up a key ID given us by userspace with a given permissions mask to get* the key it refers to.* Flags can be passed to request that special keyrings be created if referred* to directly, to permit partially constructed keys to be found and to skip
construct_key_and_linkCommence key construction.
request_key_and_linkquest_key_and_link - Request a key and cache it in a keyring.*@type: The type of key we want.*@description: The searchable description of the key.*@domain_tag: The domain in which the key operates.
request_key_tagquest_key_tag - Request a key and wait for construction*@type: Type of key
request_key_with_auxdataquest_key_with_auxdata - Request a key with auxiliary data for the upcaller*@type: The type of key we want.*@description: The searchable description of the key.*@domain_tag: The domain in which the key operates.
request_key_rcuquest_key_rcu - Request key from RCU-read-locked context*@type: The type of key we want.*@description: The name of the key we want.*@domain_tag: The domain in which the key operates.* Request a key from a context that we may not sleep in (such as RCU-mode
request_key_auth_newCreate an authorisation token for /sbin/request-key or whoever to gain* access to the caller's security data.
key_get_instantiation_authkeySearch the current process's keyrings for the authorisation key for* instantiation of a key.
key_create_persistentCreate the persistent keyring for the specified user.* Called with the namespace's sem locked for writing.
init_sdesc
request_user_keyquest_user_key - request the user key* Use a user provided key to encrypt/decrypt an encrypted-key.
init_skcipher_req
request_master_key
encrypted_key_allocAllocate memory for decrypted key and datablob.
securityfs_create_dentrysecurityfs_create_dentry - create a dentry in the securityfs filesystem*@name: a pointer to a string containing the name of the file to create.*@mode: the permission that the file should have*@parent: a pointer to the parent dentry for this file
securityfs_create_symlinksecurityfs_create_symlink - create a symlink in the securityfs filesystem*@name: a pointer to a string containing the name of the symlink to* create.*@parent: a pointer to the parent dentry for the symlink. This should be a* directory dentry if set
inode_security_rcu
sel_make_dirdeclaration for sel_make_class_dirs
smk_fetchsmk_fetch - Fetch the smack label from a file.*@name: type of the label (attribute)*@ip: a pointer to the inode*@dp: a pointer to the dentry* Returns a pointer to the master list entry for the Smack label,
smk_parse_smacksmk_parse_smack - parse smack label from a text string*@string: a text string that might contain a Smack label*@len: the maximum size, or zero if it is NULL terminated.* Returns a pointer to the clean label or an error code.
smk_import_entrysmk_import_entry - import a label, return the list entry*@string: a text string that might be a Smack label*@len: the maximum size, or zero if it is NULL terminated
tomoyo_get_absolute_pathmoyo_get_absolute_path - Get the path of a dentry but ignores chroot'ed root.*@path: Pointer to "struct path".*@buffer: Pointer to buffer to return value in.*@buflen: Sizeof @buffer.* Returns the buffer on success, an error code otherwise.
tomoyo_get_dentry_pathmoyo_get_dentry_path - Get the path of a dentry.*@dentry: Pointer to "struct dentry".*@buffer: Pointer to buffer to return value in.*@buflen: Sizeof @buffer.* Returns the buffer on success, an error code otherwise.
tomoyo_get_local_pathmoyo_get_local_path - Get the path of a dentry.*@dentry: Pointer to "struct dentry".*@buffer: Pointer to buffer to return value in.*@buflen: Sizeof @buffer.* Returns the buffer on success, an error code otherwise.
tomoyo_realpath_from_pathmoyo_realpath_from_path - Returns realpath(3) of the given pathname but ignores chroot'ed root
rawdata_f_data_alloc
aafs_createaafs_create - create a dentry in the apparmorfs filesystem*@name: name of dentry to create*@mode: permissions the file should have*@parent: parent directory for this dentry*@data: data to store on inode
aafs_create_symlinkaafs_create_symlink - create a symlink in the apparmorfs filesystem*@name: name of dentry to create*@parent: parent directory for this dentry*@target: if symlink, symlink target string*@private: private data*@iops: struct of inode_operations that should
aa_simple_write_to_bufferaa_simple_write_to_buffer - common routine for getting policy from user*@userbuf: user buffer to copy data from (NOT NULL)*@alloc_size: size of user buffer (REQUIRES: @alloc_size >= @copy_size)*@copy_size: size of data to copy from user buffer*@pos:
multi_transaction_new
gen_symlink_name
rawdata_get_link_base
policy_get_link
aa_dfa_unpackaa_dfa_unpack - unpack the binary tables of a serialized dfa*@blob: aligned serialized stream of data to unpack (NOT NULL)*@size: size of data to unpack*@flags: flags controlling what type of accept tables are acceptable
profile_transition
handle_onexecsure none ns domain transitions are correctly applied with onexec
build_change_hathelper fn for change_hat* Returns: label for hat transition OR ERR_PTR. Does NOT return NULL
change_hathelper fn for changing into a hat* Returns: label for hat transition or ERR_PTR. Does not return NULL
aa_loaddata_alloc
unpack_profilepack_profile - unpack a serialized profile*@e: serialized data extent information (NOT NULL)* NOTE: unpack profile sets audit struct if there is a failure
split_token_from_namesplit_token_from_name - separate a string of form ^*@op: operation being checked*@args: string to parse (NOT NULL)*@token: stores returned parsed token value (NOT NULL)* Returns: start position of name after token else NULL on failure
sk_peer_label
__aa_create_ns
__aa_find_or_create_nsaa_create_ns - create an ns, fail if it already exists*@parent: the parent of the namespace being created*@name: the name of the namespace*@dir: if not null the dir to put the ns entries in* Returns: the a refcounted ns that has been add or an ERR_PTR
aa_label_strn_parseaa_label_strn_parse - parse, validate and convert a text string to a label*@base: base label to use for lookups (NOT NULL)*@str: null terminated text string (NOT NULL)*@n: length of str to parse, will stop at \0 if encountered before n*@gfp: allocation
match_mntmatch_mnt - handle path matching for mount*@profile: the confining profile*@mntpath: for the mntpnt (NOT NULL)*@buffer: buffer to be used to lookup mntpath*@devpath: path devname/src_name (MAYBE NULL)*@devbuffer: buffer to be used to lookup
build_pivotroothelper fn for transition on pivotroot* Returns: label for transition or ERR_PTR. Does not return NULL
aa_calc_hash
loadpin_sb_free_security
devcgroup_css_allocalled from kernel/cgroup.c with cgroup_lock() held.
integrity_keyring_from_id
request_asymmetric_keyRequest an asymmetric key.
init_desc
dentry_open
open_with_fake_path
file_open_namele_open_name - open file and return file pointer*@name: struct filename containing path to open*@flags: open flags as per the open(2) second argument*@mode: mode for the new file if O_CREAT is set, else ignored* This is the helper to open a file from
file_open_root
vfs_dedupe_get_pageRead a page's worth of file data into the page cache.
__alloc_file
alloc_empty_fileFind an unused file structure and return a pointer to it
alloc_file_pseudo
sget_fcsget_fc - Find or create a superblock*@fc: Filesystem context
sget查找或创建超级块
mount_bdev
mount_nodev
mount_single
__register_chrdev_regionRegister a single major with a specified minor range.* If major == 0 this function will dynamically allocate an unused major.* If major > 0 this function will attempt to reserve the range of minors* with given major.
get_user_arg_ptr
do_open_execat
getname_flags
getname_kernel
get_link
lookup_dcacheThis looks up the name in dcache and possibly revalidates the found dentry.* NULL is returned if the dentry does not exist in the cache.
__lookup_hashParent directory has inode locked exclusive. This is one* and only case when ->lookup() gets called on non in-lookup* dentries - as the matter of fact, this only gets called* when directory is guaranteed to have no in-lookup children* at all.
__lookup_slowFast lookup failed, do it the slow way
path_initmust be paired with terminate_walk()
trailing_symlink
path_lookupatReturns 0 and nd will be valid on success; Retuns error, otherwise.
filename_parentat
kern_path_lockeddoes lookup, returns the object with parent locked
try_lookup_one_lenry_lookup_one_len - filesystem helper to lookup single pathname component*@name: pathname component to lookup*@base: base directory to lookup from*@len: maximum length @len should be interpreted to* Look up a dentry by name in the dcache, returning NULL
lookup_one_lenlookup_one_len - filesystem helper to lookup single pathname component*@name: pathname component to lookup*@base: base directory to lookup from*@len: maximum length @len should be interpreted to* Note that this routine is purely a helper for filesystem
lookup_one_len_unlockedlookup_one_len_unlocked - filesystem helper to lookup single pathname component*@name: pathname component to lookup*@base: base directory to lookup from*@len: maximum length @len should be interpreted to* Note that this routine is purely a helper for
lookup_positive_unlockedLike lookup_one_len_unlocked(), except that it yields ERR_PTR(-ENOENT)* on negatives
vfs_tmpfile
path_openat
do_filp_open
do_file_open_root
filename_create
vfs_get_linkvfs_get_link - get symlink body*@dentry: dentry on which to get symbolic link*@done: caller needs to free returned data with this* Calls security hook and i_op->get_link() on the supplied inode.* It does not touch atime
page_get_linkget the link contents into pagecache
__d_obtain_alias
d_add_cid_add_ci - lookup or allocate new dentry with case-exact name*@inode: the inode case-insensitive lookup has found*@dentry: the negative dentry that was passed to the parent's lookup func*@name: the case-exact name to be associated with the returned
d_hash_and_lookupd_hash_and_lookup - hash the qstr then search for a dentry*@dir: Directory to search in*@name: qstr of name we wish to find* On lookup failure NULL is returned; on bad name - ERR_PTR(-error)
d_alloc_parallel
d_splice_alias链接目录项
find_inodeCalled with the inode lock held.
find_inode_fastd_inode_fast is the fast path version of find_inode, see the comment at* iget_locked for details.
bad_inode_lookup
bad_inode_get_link
bad_inode_get_acl
get_mountpoint
vfs_create_mountvfs_create_mount - Create a mount for a configured superblock*@fc: The configuration context with the superblock attached* Create a mount to an already configured superblock. If necessary, the* caller should invoke vfs_get_tree() before calling this.
fc_mount
vfs_kern_mount
vfs_submount
clone_mnt
copy_tree
collect_mountsCaller should check returned pointer for errors
clone_private_mountlone_private_mount - create a private clone of a path* This creates a new vfsmount, which will be the clone of @path. The new will* not be attached anywhere in the namespace and will be private (i.e. changes
lock_mount
__do_loopback
SYSCALL_DEFINE3
mnt_warn_timestamp_expiry
copy_mount_options
alloc_mnt_ns
mount_subtree
xattr_resolve_nameFind the xattr_handler with the matching prefix.
simple_lookupLookup the data. This is trivial - if the dentry didn't already* exist, we know it is negative. Set d_op to delete negative dentries.
simple_transaction_get
alloc_anon_inodeA single inode exists for all anon_inode files. Contrary to pipes,* anon_inode inodes have no associated per-instance data, so we need* only allocate one of them.
empty_dir_lookupOperations for a permanently empty directory.
__d_path__d_path - return the path of a dentry*@path: the dentry/vfsmount to report*@root: root vfsmnt/dentry*@buf: buffer to return value in*@buflen: buffer length* Convert a dentry into an ASCII path name
d_absolute_path
d_pathd_path - return the path of a dentry*@path: path to report*@buf: buffer to return value in*@buflen: buffer length* Convert a dentry into an ASCII path name
dynamic_dnameHelper function for dentry_operations.d_dname() members
simple_dname
__dentry_pathWrite full pathname from the root of the filesystem into the buffer.
dentry_path
__ns_get_path
ns_get_path_cb
open_related_ns
proc_ns_fget
alloc_fs_contextalloc_fs_context - Create a filesystem context.*@fs_type: The filesystem type.*@reference: The dentry from which this one derives (or NULL)*@sb_flags: Filesystem/superblock flags (SB_*)*@sb_flags_mask: Applicable members of @sb_flags
vfs_dup_fs_contextvfs_dup_fc_config: Duplicate a filesystem context.*@src_fc: The context to copy.
freeze_bdevze_bdev -- lock a filesystem and force it into a consistent state*@bdev: blockdevice to lock* If a superblock is found on this device, we take the s_umount semaphore* on it to make sure nobody unmounts until the snapshot creation is done
bd_start_claimingd_start_claiming - start claiming a block device*@bdev: block device of interest*@holder: holder trying to claim @bdev*@bdev is about to be opened exclusively
blkdev_get_by_pathlkdev_get_by_path - open a block device by name*@path: path to the block device to open*@mode: FMODE_* mask*@holder: exclusive holder identifier* Open the blockdevice described by the device file at @path. @mode* and @holder are identical to blkdev_get().
blkdev_get_by_devlkdev_get_by_dev - open a block device by device number*@dev: device number of block device to open*@mode: FMODE_* mask*@holder: exclusive holder identifier* Open the blockdevice described by device number @dev. @mode and
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.
dio_get_pageGet another userspace page. Returns an ERR_PTR on error. Pages are* buffered inside the dio so that we can call get_user_pages() against a* decent number of pages, less frequently. To provide nicer use of the* L1 cache.
fsnotify_alloc_groupCreate a new fsnotify_group and hold a reference for the group returned.
get_one_eventGet an inotify_kernel_event if one exists and is small* enough to fit in "count". Return an error pointer if* not large enough.* Called with the group->notification_lock held.
inotify_new_group
get_one_eventGet an fsnotify notification event if one exists and is small* enough to fit in "count". Return an error pointer if the count* is not large enough. When permission event is dequeued, its state is* updated accordingly.
create_fd
fanotify_add_new_mark
anon_inode_getfileanon_inode_getfile - creates a new file instance by hooking it up to an* anonymous inode, and a dentry that describe the "class"* of the file*@name: [in] name of the "class" of the new file*@fops: [in] file operations for the new file*@priv: [in] private
eventfd_fgetventfd_fget - Acquire a reference of an eventfd file descriptor.*@fd: [in] Eventfd file descriptor.* Returns a pointer to the eventfd file structure in case of success, or the* following error pointer:* -EBADF : Invalid @fd file descriptor.
eventfd_ctx_fdgetventfd_ctx_fdget - Acquires a reference to the internal eventfd context.*@fd: [in] Eventfd file descriptor.* Returns a pointer to the internal eventfd context, otherwise the error* pointers returned by the following functions:* eventfd_fget
eventfd_ctx_filegetventfd_ctx_fileget - Acquires a reference to the internal eventfd context.*@file: [in] Eventfd file pointer.* Returns a pointer to the internal eventfd context, otherwise the error* pointer:* -EINVAL : The @fd file descriptor is not an eventfd file.
ioctx_allocx_alloc* Allocates and initializes an ioctx. Returns an ERR_PTR if it failed.
io_uring_validate_mmap_request
io_wq_create
fscrypt_encrypt_pagecache_blocksscrypt_encrypt_pagecache_blocks() - Encrypt filesystem blocks from a pagecache page*@page: The locked pagecache page containing the block(s) to encrypt*@len: Total size of the block(s) to encrypt. Must be a nonzero* multiple of the filesystem's block size.
fscrypt_get_symlinkscrypt_get_symlink - get the target of an encrypted symlink*@inode: the symlink inode*@caddr: the on-disk contents of the symlink*@max_size: size of @caddr buffer*@done: if successful, will be set up to free the returned target if needed
search_fscrypt_keyringSearch ->s_master_keys or ->mk_users
fscrypt_find_master_keyFind the specified master key in ->s_master_keys.* Returns ERR_PTR(-ENOKEY) if not found.
add_existing_master_key
fscrypt_ioctl_get_key_statusRetrieve the status of an fscrypt master encryption key
select_encryption_mode
fscrypt_allocate_skcipherCreate a symmetric cipher object for the given encryption mode and key
setup_file_encryption_keyFind the master key, then set up the inode's actual encryption key.* If the master key is found in the filesystem-level keyring, then the* corresponding 'struct key' is returned in *master_key_ret with* ->mk_secret_sem read-locked
find_and_lock_process_keySearch the current task's subscribed keyrings for a "logon" key with* description prefix:descriptor, and if found acquire a read lock on it and* return a pointer to its validated payload in *payload_ret.
fscrypt_get_direct_keyPrepare to encrypt directly using the master key in the given mode
fscrypt_setup_v1_file_key_via_subscribed_keyrings
fsverity_get_hash_algsverity_get_hash_alg() - validate and prepare a hash algorithm*@inode: optional inode for logging purposes*@num: the hash algorithm number* Get the struct fsverity_hash_alg for the given hash algorithm number, and
fsverity_prepare_hash_statesverity_prepare_hash_state() - precompute the initial hash state*@alg: hash algorithm*@salt: a salt which is to be prepended to all data to be hashed*@salt_size: salt size in bytes, possibly 0* Return: NULL if the salt is empty, otherwise the kmalloc()'ed
fsverity_create_infoValidate the given fsverity_descriptor and create a new fsverity_info from* it. The signature (if present) is also checked.
flock_make_lockFill in a file_lock structure with an appropriate FLOCK lock.
lease_allocAllocate a file_lock initialised to this type of lease
create_entryThis registers a new binary format, it recognises the syntax* ':name:type:offset:magic:mask:interpreter:flags'* where the ':' is the IFS, that can be chosen with the first char
posix_acl_from_modeCreate an ACL representing the file mode permission bits of an inode.
posix_acl_chmod
posix_acl_create
posix_acl_from_xattrConvert from extended attribute to in-memory representation.
get_vfsmount_from_fd
dqgetGet reference to dquot* Locking is slightly tricky here. We are guarded from parallel quotaoff()* destroying our dquot by:* a) checking for quota flags under dq_list_lock and* b) getting a reference to dquot before we release dq_list_lock
quotactl_blocklook up a superblock on which quota ops will be performed* - use the name of a block device to find the superblock thereon
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_mntgetTry to find a suitable devpts filesystem. We support the following* scenarios:* - The ptmx device node is located in the same directory as the devpts* mount where the pts device nodes are located.* This is e
devpts_acquire
devpts_pty_newdevpts_pty_new -- create a new inode in /dev/pts/*@ptmx_inode: inode of the master*@device: major+minor of the node to be created*@index: used as a name of the node*@priv: what's given back by devpts_get_priv* The created inode is returned
devm_memremap_pages
frame_vector_pages
kernfs_create_root
kernfs_create_dir_ns
__kernfs_create_file
kernfs_create_link
clk_get_optionallk_get_optional - lookup and obtain a reference to an optional clock* producer.*@dev: device for clock "consumer"*@id: clock consumer ID* Behaves the same as clk_get() except where there is no clock producer. In
of_clk_get
of_clk_get_by_name
of_clk_get_from_provider
debugfs_lookupWe do not return NULL from these functions if CONFIG_DEBUG_FS is not enabled* so users have a chance to detect if there was a real error or not. We don't* want to duplicate the design decision mistakes of procfs and devfs again.
debugfs_create_file
debugfs_create_file_unsafe
debugfs_create_file_size
debugfs_create_dir
debugfs_create_symlink
debugfs_create_automount
debugfs_rename
debugfs_create_u32
debugfs_create_ulong
debugfs_create_bool
debugfs_create_blob
debugfs_create_regset32
debugfs_create_devm_seqfile
copy_utsname
copy_pid_ns
ns_get_owner
alloc_ts_config
copy_net_ns
bpf_prog_get
bpf_prog_get_type_dev
bpf_prog_inc_not_zero
bpf_prog_get_type_path
bpf_map_offload_map_alloc
perf_event_get
perf_get_event
perf_event_attrs
of_clk_src_simple_get
of_clk_hw_simple_get
of_clk_src_onecell_get
of_clk_hw_onecell_get
__rhashtable_insert_fastInternal function, please use rhashtable_insert_fast() instead. This* function returns the existing element already in hashes in there is a clash,* otherwise it returns an error via ERR_PTR().
fl6_sock_lookup
fault_create_debugfs_attr
acpi_graph_get_next_endpoint
iommu_group_alloc
pcc_mbox_request_channel
thermal_zone_of_sensor_register
devm_thermal_zone_of_sensor_register
sk_psock_get_checked
virtio_find_single_vq
fscrypt_encrypt_pagecache_blocks
fscrypt_pagecache_page
fscrypt_get_symlink
select_encryption_mode