gpt4 book ai didi

kernel-module - 如果 init_module() 失败,如何强制退出?

转载 作者:行者123 更新时间:2023-12-03 20:17:16 33 4
gpt4 key购买 nike

我正在开发一个简单的内核模块,并且正在从命令行获取参数。我想要做的是在加载模块之前检查这些参数。

我检查了参数并返回 1 表示 init_module 函数失败,因此如果参数无效,则不会加载内核模块。

问题是模块仍然被加载,即使它没有通过参数检查(使用第一个 if 语句)。我输入了 sudo -f rmmod kernel_name ,它提示模块很忙。如果它通过参数检查,我如何让它加载模块?

int init_module(){
//check argument here
if(failed){
//arguments are not valid. Return 1 to indicate the failure of init_module
return 1;
}
else{
register hook function here
return 0;
}
}

void cleanup_module(){
unregister hook here
}

最佳答案

我假设您正在使用 Linux 内核模块。

一个正的返回值仍然可以解释为成功。一种常见的做法是返回 -error_code出错时,-EINVAL在你的情况下。

关于kernel-module - 如果 init_module() 失败,如何强制退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12575350/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com