相关疑难解决方法(0)

在Linux内核模块中读/写文件

我知道所有关于为什么不应该从内核读/写文件的讨论,而是如何使用/ procnetlink来做到这一点.无论如何我想读/写.我也读过" 驾驶我的坚果 - 你应该在内核中做的事情".

但问题是2.6.30不能导出sys_read().相反,它包含在内SYSCALL_DEFINE3.因此,如果我在我的模块中使用它,我会收到以下警告:

WARNING: "sys_read" [xxx.ko] undefined!
WARNING: "sys_open" [xxx.ko] undefined!
Run Code Online (Sandbox Code Playgroud)

显然insmod无法加载模块,因为链接没有正确发生.

问题:

  • 如何在2.6.22之后在内核中读/写(哪里sys_read()/ sys_open()不导出)?
  • 一般来说,如何使用SYSCALL_DEFINEn()内核中包含宏的系统调用?

c file-io kernel-module linux-kernel

89
推荐指数
2
解决办法
10万
查看次数

标签 统计

c ×1

file-io ×1

kernel-module ×1

linux-kernel ×1