函数逻辑报告 |
Source Code:kernel\locking\mutex.c |
Create Date:2022-07-27 10:47:52 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:mutex_lock_nested
函数原型:void __sched mutex_lock_nested(struct mutex *lock, unsigned int subclass)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct mutex * | lock | |
unsigned int | subclass |
名称 | 描述 |
---|---|
software_resume | software_resume - Resume from a saved hibernation image.* This routine is called as a late initcall, when all devices have been* discovered and initialized already.* The image reading code is called to see if there is a hibernation image |
acct_on | |
perf_event_ctx_lock_nested | Because of perf_event::ctx migration in sys_perf_event_open::move_group and* perf_pmu_migrate_context() we need some magic.* Those places that change perf_event::ctx will hold both* perf_event_ctx::mutex of the 'old' and 'new' ctx value. |
perf_remove_from_owner | Remove user event from the owner task. |
mutex_lock_double | |
blkpg_ioctl | |
ns_revision_read | |
ns_revision_poll | |
ns_mkdir_op | |
ns_rmdir_op | |
__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 |
p_start | p_start - start a depth first traversal of profile tree*@f: seq_file to fill*@pos: current position* Returns: first profile under current namespace or NULL if none found* acquires first ns->lock |
aa_create_aafs | aa_create_aafs - create the apparmor security filesystem* dentries created here are released by aa_destroy_aafs* Returns: error on failure |
aa_new_null_profile | aa_new_null_profile - create or find a null-X learning profile*@parent: profile that caused this profile to be created (NOT NULL)*@hat: true if the null- learning profile is a hat*@base: name to base the null profile off of*@gfp: type of allocation |
aa_replace_profiles | aa_replace_profiles - replace profile(s) on the profile list*@policy_ns: namespace load is occurring on*@label: label that is attempting to load/replace policy*@mask: permission mask*@udata: serialized data stream (NOT NULL)* unpack and replace a profile |
aa_remove_profiles | aa_remove_profiles - remove profile(s) from the system*@policy_ns: namespace the remove is being done from*@subj: label attempting to remove policy*@fqname: name of the profile or namespace to remove (NOT NULL)*@size: size of the name* Remove a profile or |
do_loaddata_free | d to take the ns mutex lock which is NOT safe most places that* put_loaddata is called, so we have to delay freeing it |
__aa_create_ns | |
aa_prepare_ns | aa_prepare_ns - find an existing or create a new namespace of @name*@parent: ns to treat as parent*@name: the namespace to find or add (NOT NULL)* Returns: refcounted namespace or PTR_ERR if failed to create one |
destroy_ns | destroy_ns - remove everything contained by @ns*@ns: namespace to have it contents removed (NOT NULL) |
__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. |
__pipe_lock | |
__blkdev_get | d_mutex locking:* mutex_lock(part->bd_mutex)* mutex_lock_nested(whole->bd_mutex, 1) |
__blkdev_put | |
fsnotify_destroy_mark | |
fsnotify_clear_marks_by_group | Clear any marks in a group with given type mask |
ep_scan_ready_list | p_scan_ready_list - Scans the ready list in a way that makes possible for* the scan code, to call f_op->poll(). Also allows for* O(NumReady) performance.*@ep: Pointer to the epoll private data structure.*@sproc: Pointer to the scan callback. |
eventpoll_release_file | This is called from eventpoll_release() to unlink files from the eventpoll* interface. We need to have this facility to cleanup correctly files that are* closed without being removed from the eventpoll interface. |
ep_loop_check_proc | p_loop_check_proc - Callback function to be passed to the @ep_call_nested()* API, to verify that adding an epoll file inside another* epoll structure, does not violate the constraints, in* terms of closed loops, or too deep chains (which can |
SYSCALL_DEFINE4 | The following function implements the controller interface for* the eventpoll file that enables the insertion/removal/change of* file descriptors inside the interest set. |
pipe_lock_nested | We use head and tail indices that aren't masked off, except at the point of* dereference, but rather they're allowed to wrap naturally. This means there* isn't a dead spot in the buffer, but the ring has to be a power of two and* <= 2^31. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |