首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成未定义的内核模块do_softirq()

生成未定义的内核模块do_softirq()
EN

Stack Overflow用户
提问于 2020-10-05 03:02:45
回答 1查看 84关注 0票数 0
代码语言:javascript
复制
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>

MODULE_LICENSE("Dual BSD/GPL");

static int example_init(void) {
        printk("<1>EXAMPLE: init\n");
        do_softirq();
        return 0;
}

static void example_exit(void) {
        printk("<1>EXAMPLE: exit\n");
}

module_init(example_init);
module_exit(example_exit);

在ubuntu20.04上构建模块。我有个错误。

代码语言:javascript
复制
ERROR: "do_softirq" undefined!

有什么建议来修正这个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-05 03:48:07

你为什么要做这个程序?在特定情况下调用的是内部内核函数--以及线程中的其他函数。您不应该从内核的模块调用它。

要编译示例模块,可以尝试在内核中导出这个符号-如下所示:

代码语言:javascript
复制
EXPORT_SYMBOL(do_softirq);

在softirq.c文件中,但不建议这样做。尝试查找tasklet、workqueue接口或k线程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64201949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档