函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\module.c Create Date:2022-07-27 11:59:49
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:complete_formation

函数原型:static int complete_formation(struct module *mod, struct load_info *info)

返回类型:int

参数:

类型参数名称
struct module *mod
struct load_info *info
3725  mutex_lock( & Mutex protects:* 1) List of modules (also safely readable with preempt_disable),* 2) module_use links,* 3) module_addr_min/module_addr_max.* (delete and add uses RCU list operations). )
3728  err等于Ensure that an exported symbol [global namespace] does not already exist* in the kernel or in some other module's exported symbol table.* You must hold the module_mutex.
3729  如果err小于0则转到:out
3733  module_bug_finalize(hdr, sechdrs, mod)
3735  module_enable_ro(mod, false)
3736  module_enable_nx(mod)
3737  module_enable_x(mod)
3741  state等于 Full formed, running module_init.
3742  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
3744  返回:0
3746  out :
3747  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
3748  返回:err
调用者
名称描述
load_moduleAllocate and load the module: note that size of section 0 is alwayszero, and we rely on this for optional sections.