在linux kerenl init_module中优雅失败

时间:2016-09-27 07:20:33

标签: c linux kernel kernel-module

我正在研究内核模块,我想在加载模块之前做一些检查。但是,如果某些检查失败,我无法优雅地阻止模块加载。如果module_init函数返回非零值,则会导致内核崩溃我的系统。

如何在不破坏内核的情况下停止模块初始化?例如,只是打印错误消息等。

static int timer_init(void){
    ...
    if (OK)
       return 0;
    else:
       return -EINVAL;
 }
 static void timer_exit(void) {
 ....
 }
 module_init(timer_init);
 module_exit(timer_exit);

谢谢!

0 个答案:

没有答案