Kernel之MODVERSION

Kernel之MODVERSION | DD'NotesKernel之MODVERSION官方说明关于modversion,内核文档官方解释(Documentation/kbuild/modules.rst): 6 Module Versioning Module versioning is enabled by the CONFIG_MODVERSIONS tag, and is used as a simple ABI consistencyhttps://notes.z-dd.online/2022/03/27/Kernel%E4%B9%8BMODVERSION/

关于modversion,内核文档官方解释(Documentation/kbuild/modules.rst):

    6 Module Versioning

    Module versioning is enabled by the CONFIG_MODVERSIONS tag, and is used
    as a simple ABI consistency check. A CRC value of the full prototype
    for an exported symbol is created. When a module is loaded/used, the
    CRC values contained in the kernel are compared with similar values in
    the module; if they are not equal, the kernel refuses to load the
    module.

    Module.symvers contains a list of all exported symbols from a kernel
    build.

6.1 Symbols From the Kernel (vmlinux + modules)
 During a kernel build, a file named Module.symvers will be
 generated. Module.symvers contains all exported symbols from
 the kernel and compiled modules. For each symbol, the
 corresponding CRC value is also stored.

 The syntax of the Module.symvers file is::

 <CRC>       <Symbol>         <Module>                         <Export Type>     <Namespace>

 0xe1cc2a05  usb_stor_suspend drivers/usb/storage/usb-storage  EXPORT_SYMBOL_GPL USB_STORAGE

 The fields are separated by tabs and values may be empty (e.g.
 if no namespace is defined for an exported symbol).

 For a kernel build without CONFIG_MODVERSIONS enabled, the CRC
 would read 0x00000000.

 Module.symvers serves two purposes:

 1) It lists all exported symbols from vmlinux and all modules.
 2) It lists the CRC if CONFIG_MODVERSIONS is enabled.


作者: Shell
链接: https://notes.z-dd.online/2022/03/27/Kernel%E4%B9%8BMODVERSION/
来源: DD'Notes
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值