Linux 从用户函数复制用户函数:使用offsert写入
我正在开发简单的内核模块,在缓冲区中读写,我有这种缓冲区结构Linux 从用户函数复制用户函数:使用offsert写入,linux,kernel-module,Linux,Kernel Module,我正在开发简单的内核模块,在缓冲区中读写,我有这种缓冲区结构 // Data buffers structure typedef struct dnode { int bufSize; char *buffer; struct dnode *nextNode; } data_node; data_node *newNode 现在假设我想从user复制到struct buf data,其大小小于bufSize,那么下次我想从上次复
// Data buffers structure
typedef struct dnode
{
int bufSize;
char *buffer;
struct dnode *nextNode;
} data_node;
data_node *newNode
现在假设我想从user复制到struct buf data,其大小小于bufSize,那么下次我想从上次复制数据的末尾开始复制:
ex: blocSIze = 512
我复制了10个,所以502留下了,所以下次我想复制到502空闲空间中的同一个缓冲区中
我应该在copy\u from\u user
函数中修改什么,以便能够使用缓冲区结构中的偏移量进行复制
copy_from_user(newNode->buffer, buf, size);
如果要在偏移量
10
处复制到char*buffer
,只需将buffer+10
作为第一个参数传递即可zch我不确定我是否理解正确,但如果您想复制到偏移量10
处的char*buffer
,那么只需将buffer+10
作为第一个参数传递即可。@zch是的,这是我正在寻找的,它运行良好,谢谢