首页 > 解决方案 > 内核 4.20 内核模块中的未知符号 vfs_write (err -2)

问题描述

我正在尝试设置键盘记录器内核模块。一切都很好,除了最终的日志文件。我正在尝试在模块的出口处将日志写入 /tmp/ 文件。

我正在使用最新的内核版本 4.20。我正在尝试使用 vfs_write,但是在编译时,它告诉我

“警告:vfs_write [...] 未定义!”

当我试图插入模块时,它说我

“未知符号 vfs_write (err -2)”

我正在使用这种方法来完成这项工作:Read/write files within a Linux kernel module

告诉我我做错了什么或如何正确打开/写入文件 x)。谢谢大家。

标签: cfile-iolinux-kernelkernel-module

解决方案


从 Linux 内核 4.14 版本开始,不再导出vfs_write函数以在模块中使用。改为使用。它具有相同的签名:kernel_write

ssize_t kernel_write(struct file *file, const void *buf, size_t count,
            loff_t *pos)

推荐阅读