copy_from_user函数:用offset写

时间:2014-08-17 10:54:27

标签: linux kernel-module

我正在开发在缓冲区中读写的简单内核模块,我有这种缓冲结构。

    // Data buffers structure 
    typedef struct dnode
    {
      int   bufSize;
      char *buffer;
      struct dnode *nextNode;
} data_node;
data_node *newNode

现在假设我想从用户复制到大小低于bufSize的struct buf数据,所以下次我想从最后复制的数据的末尾开始复制:

ex: blocSIze = 512

我复制了10,所以502离开了,所以下次我要复制到502个可用空间中的同一个缓冲区,所以一个

我应该在copy_from_user函数中修改什么才能在缓冲区结构中使用偏移量进行复制

copy_from_user(newNode->buffer, buf, size);

1 个答案:

答案 0 :(得分:0)

如果要在偏移char* buffer复制到10,则只需将buffer + 10作为第一个参数传递。 - zch