包含所有已加载内核模块的列表位于何处

Where is the List with all loaded Kernel Moduls located

我的一项任务需要帮助。我正在写一个 Linux 内核模块,它应该打印所有加载的模块(就像 print_modules 但每个模块在不同的行中)。我不允许读取文件(例如 /proc/modules)。

我的问题是我无法在内核中找到相应的列表,以便我可以使用我的 C 代码访问它。

我已经搜索了 Modules.c/.h 并找到了存储双向链表的 Modul 结构,但我无法通过该结构访问其他模块。

希望我的问题很清楚并且有人可以帮助我。提前致谢

从我的评论中复制:

可以在自己的内核模块中找到该列表(具有函数 get_module)。有一个对象Module->List,它是一个双向链表。使用 list.h 我们可以得到 list.next/.prev

的 Module