当加载内合模块并执行时,出现如下错误:
sys_init_module: 'client555'->init suspiciously returned 1024, it should follow 0/-E convention
问题原因:当module_init()调用的函数返回值不为0.
解决办法:把module_init()函数调用的那个模块初始化函数返回值改为0即可。
例如初始化函数为:
static int __init test_init(void){
...........
return -1;
}
module_init(test_init); 就会出现上面那个错误。
把模块初始化函数改为下面这样即可:
static int __init test_init(void){
..............
return 0; /*把return改为0 就可以了*/
}
本文介绍了一个常见的内核模块加载错误,即模块初始化函数返回非零值导致的问题,并给出了具体的解决方案,通过将模块初始化函数的返回值修改为0来避免此类错误。
1884

被折叠的 条评论
为什么被折叠?



