Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\module.c Create Date:2022-07-28 10:59:14
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:complete_formation

Proto:static int complete_formation(struct module *mod, struct load_info *info)

Type:int

Parameter:

TypeParameterName
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  If err < 0 Then Go to 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  Return 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  Return err
Caller
NameDescribe
load_moduleAllocate and load the module: note that size of section 0 is alwayszero, and we rely on this for optional sections.