“ MODULE_INFO(retpoline,“ Y”)“宏是什么?

时间:2019-08-19 08:38:25

标签: c linux-kernel linux-device-driver embedded-linux

我在一些驱动程序源代码中看到以下行:

MODULE_INFO(retpoline,“ Y”)

是什么?

1 个答案:

答案 0 :(得分:2)

此宏定义存储在已编译模块文件中的键/值对。您可以使用modinfo命令来显示它们。例如,当您编译此模块时,modinfo my_module.ko将包含一行

retpoline:      Y

您可以通过搜索definition来查找宏an LXR interface及其文档(例如它)。它可以由目标文件的defining a symbol in the .modinfo section工作。

此机制用于内核中加载的模块和modprobe之类的用户工具所使用的各种元数据。标准元数据包括aliaseslicenseversion等。

retpoline标记指示模块是针对support for a mitigation使用Spectre构建的。我不知道为什么驱动程序源代码会明确声明这一点:据我了解,在使用retpoline支持进行编译时,应该自动将其插入(通过标头):这是编译器功能,而不是源代码的属性。