最佳答案
我知道所有关于为什么不应该从内核读/写文件,而是如何使用 程序或 网络连接这样做的讨论。反正我也想读/写。我也读过 让我抓狂-你永远不应该在内核中做的事情。
然而,问题是2.6.30不导出 sys_read()
。而是用 SYSCALL_DEFINE3
包装的。因此,如果我在我的模块中使用它,我会得到以下警告:
WARNING: "sys_read" [xxx.ko] undefined!
WARNING: "sys_open" [xxx.ko] undefined!
Obviously insmod
cannot load the module because linking does not happen correctly.
问题:
sys_read()
/sys_open()
) ?SYSCALL_DEFINEn()
中包装的系统调用?