插入内核模块时出错:模块*使用命名空间*中的符号*,但不导入它
Error when inserting kernel module: module * uses symbol * from namespace *, but does not import it
为rtl8189fs编译驱动时,没有终止编译就产生警告:
WARNING: module 8189fs uses symbol kernel_read from namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver, but does not import it.
插入此模块时,此警告打印到内核缓冲区,插入失败。
驱动来源:rtl8189ES_linux
内核版本:5.4.61
原来是源码使用了kernel_read()
函数,需要在文件系统模块外导入VFS命名空间。这可以通过在调用 kernel_read()
:
的语句之前添加此声明来完成
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
此修复应应用于在源代码树中调用 kernel_read()
的每个文件。
为rtl8189fs编译驱动时,没有终止编译就产生警告:
WARNING: module 8189fs uses symbol kernel_read from namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver, but does not import it.
插入此模块时,此警告打印到内核缓冲区,插入失败。
驱动来源:rtl8189ES_linux
内核版本:5.4.61
原来是源码使用了kernel_read()
函数,需要在文件系统模块外导入VFS命名空间。这可以通过在调用 kernel_read()
:
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
此修复应应用于在源代码树中调用 kernel_read()
的每个文件。