linux-kernel - 为什么我用ramfs将数据写入页面时vim会报告错误
问题描述
我使用 my_do_sync_read 和 my_do_sync_write 函数替换 ramfs 源代码中的 do_sync_read 和 do_sync_write 来加密写入页面的数据。从 nano 写入文件或从 dd 指令块是成功的。但是当我使用vim保存文件时,它无法写入并显示:ml_upd_block0():没有得到块0? .
以下代码是我的简单测试并遇到了同样的问题:
ssize_t my_do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos)
{
ssize_t size_ret;
int i;
size_ret=do_sync_read(filp, buf, len, ppos);
for(i=0;i<size_ret;i++)
buf[i]^=0xff;
return size_ret;
}
ssize_t my_do_sync_write(struct file *filp, char __user *buf, size_t len, loff_t *ppos)
{
int i;
for(i=0;i<len;i++)
buf[i]^=0xff;
return do_sync_write(filp, buf, len, ppos);
}
解决方案
推荐阅读
- python - django 脆皮表单覆盖布局对象模板被忽略
- vb.net - 在 InitializeComponent 中强制更新
- json - 当 uboxing truffle react 时,没有 package.json 文件。结果,我无法启动程序
- javascript - 重复选择选择字段
- python-3.x - docplex 如何使用本地求解器?
- javascript - 如何在客户端 reactjs 上使用基于角色的身份验证?
- android - Android,什么文件定义了最低屏幕亮度?
- google-apps-script - Google Script - 如果列中的单元格包含特定值,则隐藏列
- javascript - Recharts - 如何为“step”类型的区域组件添加圆角
- c# - 在 C# 中使用 HttpClient 使用原始 Json POST API