函数逻辑报告 |
Source Code:kernel\locking\mutex.c |
Create Date:2022-07-27 10:47:33 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:是互斥锁
函数原型:bool mutex_is_locked(struct mutex *lock)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct mutex * | lock |
85 | 返回:Internal helper function; C doesn't allow us to hide it :/* DO NOT USE (outside of mutex code). != NULL |
名称 | 描述 |
---|---|
kgdb_arch_remove_breakpoint | |
mutex_destroy | mutex_destroy - mark a mutex unusable*@lock: the mutex to be destroyed* This function marks the mutex uninitialized, and any subsequent* use of the mutex is forbidden. The mutex must not be locked when* this function is called. |
audit_add_to_parent | Associate the given rule with an existing parent.* Caller must hold audit_filter_mutex. |
trace_buffered_event_enable | race_buffered_event_enable - enable buffering events* When events are being filtered, it is quicker to use a temporary* buffer to write the event data into if there's a likely chance* that it will not be committed |
trace_buffered_event_disable | race_buffered_event_disable - disable buffering events* When a filter is removed, it is faster to not use the buffered* events, and to commit directly into the ring buffer. Free up* the temp buffers when there are no more users. This requires |
ignore_task_cpu | |
uprobe_buffer_enable | |
uprobe_buffer_disable | |
ignore_task_cpu | |
prog_array_map_poke_run | |
bpf_trampoline_put | |
dbg_reserve_bp_slot | Allow the kernel debugger to reserve breakpoint slots without* taking a lock using the dbg_* variant of for the reserve and* release breakpoint slots. |
dbg_release_bp_slot | |
__aa_fs_create_rawdata | |
__aafs_profile_migrate_dents | Requires: @old->ns->lock held |
__aafs_profile_mkdir | Requires: @profile->ns->lock held |
__aa_fs_list_remove_rawdata | |
__aafs_ns_rmdir | Requires: @ns->lock held |
__aafs_ns_mkdir | Requires: @ns->lock held |
__next_ns | __next_ns - find the next namespace to list*@root: root namespace to stop search at (NOT NULL)*@ns: current ns position (NOT NULL)* Find the next namespace from @ns under @root and handle all locking needed* while switching current namespace |
__first_profile | __first_profile - find the first profile in a namespace*@root: namespace that is root of profiles being displayed (NOT NULL)*@ns: namespace to start in (NOT NULL)* Returns: unrefcounted profile or NULL if no profile* Requires: profile->ns.lock to be held |
__next_profile | __next_profile - step to the next profile in a profile tree*@profile: current profile in tree (NOT NULL)* Perform a depth first traversal on the profile tree in a namespace* Returns: next profile or NULL if done* Requires: profile->ns.lock to be held |
__add_profile | __add_profile - add a profiles to list and label tree*@list: list to add it to (NOT NULL)*@profile: the profile to add (NOT NULL)* refcount @profile, should be put by __list_remove_profile* Requires: namespace lock be held, or list not be shared |
__list_remove_profile | __list_remove_profile - remove a profile from the list it is on*@profile: the profile to remove (NOT NULL)* remove a profile from the list, warning generally removal should* be done with __replace_profile as most profile removals are |
__remove_profile | __remove_profile - remove old profile, and children*@profile: profile to be replaced (NOT NULL)* Requires: namespace list lock be held, or list not be shared |
update_to_newest_parent | Update to newest version of parent after previous replacements* Returns: unrefcount newest version of parent |
__aa_loaddata_update | |
__aa_create_ns | |
__aa_find_or_create_ns | aa_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 |
__label_update | __label_update - insert updated version of @label into labelset*@label - the label to update/replace* Returns: new label that is up to date* else NULL on failure* Requires: @ns lock be held* Note: worst case is the stale @label does not get updated and has |
__labelset_update | __labelset_update - update labels in @ns*@ns: namespace to update labels in (NOT NULL)* Requires: @ns lock be held* Walk the labelset ensuring that all labels are up to date and valid* Any label that has a stale component is marked stale and replaced and |
__aa_labelset_update_subtree | __aa_labelset_udate_subtree - update all labels with a stale component*@ns: ns to start update at (NOT NULL)* Requires: @ns lock be held* Invalidates labels based on @p in @ns and any children namespaces. |
fsnotify_add_mark_locked | Attach an initialized mark to a given group and fs object.* These marks may be used for the fsnotify backend to determine which* event types should be delivered to which group. |
kgdb_arch_set_breakpoint | |
mm_drop_all_locks | The mmap_sem cannot be released by the caller until* mm_drop_all_locks() returns. |
aa_deref_parent | |
__aa_fs_remove_rawdata | |
fsnotify_detach_mark | Mark mark as detached, remove it from group list |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |