我正在开发32位到64位内核模块移植项目。旧的内核版本是2.6.18,目标是2.6.32。
旧的内核模块通过以下函数在/ proc / sys / net //路径下创建文件:
if (create_proc_read_entry("/sys/net/<module_name>/<proc_file_name>", 0, NULL, read_proc, NULL) == NULL){ ...}
我将CONFIG_PROC_FS设置为&#34; y&#34;在构建2.6.32内核之前的.config文件中。
但是,虽然内核版本2.6.32的proc_fs.h具有&#34; create_proc_read_entry&#34;与内核版本2.6.18相同,&#34; CONFIG_PROC_FS = y&#34;在.config文件中,返回值始终为NULL,当我使用modprodbe命令加载模块时,它会使模块崩溃。如果我注释掉主题函数调用,模块加载没有任何问题,它没有任何问题。
我错过了什么吗?我应该坚持使用CONFIG_PROC_FS标志吗?